我做了一个使用后台服务的Android应用程序。它运行良好,但是如果用户重新启动设备,我的应用程序将停止运行。我该如何解决这个问题?也就是说,如何在设备重启后重新启动我的应用程序?
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name="com.test.check.MyReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
<service android:name=".MyService">
<intent-filter>
<action android:name="com.test.check.MyService" />
</intent-filter>
</service>
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Toast.makeText(arg0, "boot completed",Toast.LENGTH_LONG).show();
Intent serviceIntent = new Intent("com.test.check.MyService");
arg0.startService(serviceIntent);
}
}
现在,在服务的onCreate方法中,使用应用程序的包名启动您想要的应用程序:
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("package.name");
startActivity( LaunchIntent );