在启动时启动应用程序会崩溃应用程序

时间:2012-12-10 10:34:25

标签: java android boot

我尝试了一些我在网上找到的解决方案,用于在启动时启动我的活动。目前我有:

清单:

<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上测试)

2 个答案:

答案 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>