3
我已經做了一個使用一個後臺服務的Android應用程序。它工作正常,但如果用戶重新啓動他的設備,我的應用程序將停止。我該如何解決這個問題,即如何在重新啓動設備後重新啓動應用程序?如何重新啓動設備後重新啓動應用程序?
我已經做了一個使用一個後臺服務的Android應用程序。它工作正常,但如果用戶重新啓動他的設備,我的應用程序將停止。我該如何解決這個問題,即如何在重新啓動設備後重新啓動應用程序?如何重新啓動設備後重新啓動應用程序?
您可以按以下方式做到這一點:
註冊boot_completed時將啓動一個接收器和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>
現在在onReceive()方法MyReceiver啓動服務:
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);
這將滿足您的要求。
http://stackoverflow.com/a/6392009/798818 – Mob