我尝试了一些我在网上找到的解决方案,用于在启动时启动我的活动。目前我有:
清单:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name="App_Receiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
主要活动:
public void onReceive(Context context, Intent intent) {
if ((intent.getAction() != null) && (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")))
{
// Start the service or activity
Intent startActivity = new Intent();
startActivity.setClassName("org.package_name", "org.package_name.MainActivity");
startActivity(startActivity);
}
}
然而,当我启动手机时,我收到错误,我的应用程序以意外的方式停止(即崩溃)。我做错了什么想法? (在Android 2.2,API 8上测试)
答案 0 :(得分:1)
启动完成需要 android.permission.RECEIVE_BOOT_COMPLETED permission.
编辑请使用收件人姓名编写包名。
<receiver android:name="org.package_name.App_Receiver">
Intent startActivity = new Intent(context, MainActivity.class);
startActivity(startActivity);
答案 1 :(得分:0)
与上面发布的答案一样:它需要许可,并且:
startActivity.setClassName("org.package_name", "org.package_name.MainActivity");
确保您已在Manifest文件中声明Activity为public,同时请提供堆栈跟踪以准确查看问题。
清单中活动声明的示例:
<activity
android:name=".MainActivity"
android:label="@string/app_name">
</activity>