我正在开发一个Android应用程序,当我打开我的设备时,我想自动调用我的应用程序。所以我在我的应用程序的manifest.xml文件中使用了此权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
,我使用了服务,活动和注册manifest.xml文件中的广播接收器。但是当我启动我的设备时,我出现了预先出现错误。如何解决这个问题。
我的接收器代码如下
context.startActivity(new Intent(context,ServicesDemo.class));
//在我的myfeceiver的mainfest.xml中
<receiver android:name=".MyReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter> </receiver>
我遇到了这个例外java.lang.RuntimeException: Unable to start receiver com.servicedemo.MyReceiver: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
答案 0 :(得分:3)
我正在开发一个Android应用程序,我想在我打开设备时自动调用我的应用程序
用户一般都讨厌一千个太阳的激情。请默认配置和禁用此功能。
另外,请记住,如果有太多开发人员滥用此功能,核心Android团队可能会阻止您在启动时启动活动。
如何解决这个问题
执行错误消息告诉您的操作:将FLAG_ACTIVITY_NEW_TASK
标记添加到Intent
。