我想在手机重新启动时自动运行应用程序。我已经将以下代码添加到我的代码中:
public class BootComplete extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equalsIgnoreCase(Intent.ACTION_BOOT_COMPLETED)) {
Intent serviceIntent = new Intent(context, MyActivity.class);
context.startService(serviceIntent);
}
}
我已经在我的清单文件中添加了以下行:
<receiver
android:name=".BootComplete"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
并且它的权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" >
</uses-permission>
当MyActivity
类仅包含一些后台任务时,它可以正常工作,例如当我想要打开LED灯时。但是当我想要播放媒体(例如视频)时,它不起作用,只显示服务已启动,但没有播放任何内容。
我该如何解决它?是否需要向代码中添加任何内容?
equalsIgnoreCase
而不是equals
? - Kevin Krumwiede