我将这些权限添加到清单中
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
字符串
然后我将BootReceiver添加到Manifest:
<receiver
android:name="com.portlmedia.streets.BootReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:directBootAware="true">
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="android.intent.action.REBOOT"/>
</intent-filter>
</receiver>
型
我在我的项目中创建了BootReceiver:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
Intent activityIntent = new Intent(context, MainActivity.class);
context.startActivity(activityIntent);
}
}
}
型
我的问题是,如果你能帮助我,我如何使用android studio中的模拟器测试这个?
我把一个断点在onReceive方法,但当我启动应用程序,它不打它我也试过冷重启,但没有什么,我想测试,如果确实工作,或者可能是一个问题,在我的代码?
1条答案
按热度按时间zxlwwiss1#
步骤1:清单代码
添加权限
字符串
在应用程序类中
型
步骤2:获取用户授予的覆盖权限,或
型
第三步:BootReceiver
型
步骤4:服务代码
型
在我的情况下,BootReceiver类接收引导完成动作。所以,为我工作!确保引导完成动作在特定设备上工作。