gpt4 book ai didi

java - Android - Java - 在设备启动时运行应用程序

转载 作者:行者123 更新时间:2023-11-29 05:17:47 25 4
gpt4 key购买 nike

我在这里遇到了一些问题,我的代码似乎是正确的,但它也没有达到我的预期。

我有一个应用程序,我想在设备启动时运行。但是当设备启动时,它的应用程序没有运行,这是我所期望的。

首先在我的 list 中,我添加了 RECEIVE_BOOT_COMPLETED 的使用权限:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

然后还在我的 list 中,我在应用程序中添加了接收器和 Activity :

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<receiver
android:name=".BootReceiver"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>

<activity
android:name=".BootReceiver"
android:label="@string/title_activity_boot_receiver" >
</activity>
</application>

然后我创建了一个如下所示的 BootReceiver Activity :

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class BootReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}

当我安装应用程序并启动设备时,应用程序无法在设备启动时立即运行。

我不明白我在这里做错了什么。我的代码错了吗?有人有什么想法吗?

最佳答案

BootReceiver 不是您的 Activity,它是扩展广播接收器的类。

更新你的 list ,这就足够了

     <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >


<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<receiver
android:name=".BootReceiver"
android:enabled="true"
>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
/>
</intent-filter>
</receiver>


</application>

关于java - Android - Java - 在设备启动时运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25934376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com