0

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

显现:

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

4

2 回答 2

1

启动完成需要 android.permission.RECEIVE_BOOT_COMPLETED permission.

编辑请写包裹名称和接收者名称。

<receiver android:name="org.package_name.App_Receiver">

Intent startActivity = new Intent(context, MainActivity.class);    
startActivity(startActivity);      
于 2012-12-10T10:37:47.380 回答
0

就像上面发布的答案一样:它需要许可,并且:

startActivity.setClassName("org.package_name", "org.package_name.MainActivity");

确保您已在 Manifest 文件中声明该 Activity 公开,还请提供堆栈跟踪以准确查看问题。

清单中的活动声明示例:

    <activity
        android:name=".MainActivity"
        android:label="@string/app_name">
    </activity>
于 2012-12-10T10:39:45.103 回答