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

问题描述:

我尝试了一些我在网上找到的启动启动时的活动的解决方案。目前,我有:在启动时启动应用程序会使应用程序崩溃

清单:

<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

请分享堆栈跟踪。 – Faizan

+0

@Faizan我正在调试它没有一个真正的设备,所以我不知道如何做到这一点,因为当我关闭设备时,调试模式停止 – Cemre

+0

需要看堆栈跟踪的理解。 LogCat eclipse iDE ..或者你可以从市场上获得一个应用程序aLogcat。但是在这里提供堆栈跟踪:) – Faizan

启动完成需要与接收器的名称android.permission.RECEIVE_BOOT_COMPLETED permission.

编辑请写包名。

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

Intent startActivity = new Intent(context, MainActivity.class);  
startActivity(startActivity);  
+0

我有抱歉没有包括它。现在编辑 – Cemre

+0

@Cemre检查我编辑的答案。 –

+0

我现在试过,但不幸的是仍然崩溃 – Cemre

像上面贴了答案:它需要的权限,以及:

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

确保您已声明清单文件,该活动市民,也请提供一个堆栈跟踪正是看到这个问题。

在清单中的活动声明的一个例子:

<activity 
     android:name=".MainActivity" 
     android:label="@string/app_name"> 
    </activity> 
+0

谢谢。我该如何宣布活动公开? – Cemre

+0

只是在xml中“正常”的方式,但需要在清单中声明,否则你会得到错误/崩溃。 – 2012-12-10 10:49:30

+0

它已经宣布。它也有这个: intent -filter> – Cemre