0

我编写了以下课程来启动我的应用程序活动Home.class,但在设备启动时它显示错误强制关闭

public class MyBootRecvr extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Intent i = new Intent(context, Home.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        i.addFlags(Intent.FLAG_FROM_BACKGROUND);
        context.startActivity(i);
        Toast.makeText(context, "Where is my KeyBoard", Toast.LENGTH_LONG)
                .show();
    }
}

应用程序中的权限和接收者标签。


<receiver
     android:name=".Home"
     android:enabled="true"
     android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
     <intent-filter>
         <action android:name="android.intent.action.BOOT_COMPLETED" />
         <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
 </receiver>
4

2 回答 2

0

如果这是您的应用程序中唯一的代码,它将永远不会运行。Android 应用程序必须至少有一个 Activity 子类作为运行应用程序的起点。Activity 至少应该看起来像这样:

class MyActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.my_layout); /* my_layout should be an XML layout in res/layout */
    }
}

确保以下代码是您的 AndroidManifest.xml 文件

<activity android:name="MyActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

如果您在 Eclipse 中创建一个新的 Android 项目,它将为您完成此设置。有很多关于在 Android 中设置基本应用程序和使用 Eclipse 为您完成的教程。

于 2012-06-15T08:45:49.587 回答
0

这样做可以解决问题,这要归功于 xono

<receiver
     android:name=".MyBootRecvr"
     android:enabled="true"
     android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
     <intent-filter>
         <action android:name="android.intent.action.BOOT_COMPLETED" />
         <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
 </receiver>
于 2012-06-15T11:16:15.610 回答