我想自動啓動我的Android應用程序在下列情況:啓動應用程序會自動
- 重啓
- 應用進行了採空通過量任務管理器或RAM清除
我搜索的網頁,發現東西約Android的服務。 我執行一些代碼重新啓動時啓動我的服務,但我不工作,我不知道如何得到有關情況2的消息。
你能給我一個建議嗎?
這是我的服務代碼:
上的manifest.xml
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<service android:name="TimetableService">
<intent-filter>
<action android:name=".TimetableService" />
</intent-filter>
</service>
<receiver android:enabled="true" android:name=".OnBootReceiver" 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>
OnBootReceiver:
public void onReceive(Context context, Intent intent)
{
Intent serviceIntent = new Intent();
serviceIntent.setAction("TimetableService");
context.startService(serviceIntent);
}
TimetableService:
public class TimetableService extends Service
{
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service Created", Toast.LENGTH_LONG).show();
}
@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service Destroyed", Toast.LENGTH_LONG).show();
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
}
}
[檢查這一個,並得到它的工作(http://stackoverflow.com/questions/7690350/android-start-service-on-boot/7690600#7690600) –
通常,在TaskManager停止服務後,您不應該啓動它。這是一個糟糕的機器人公民。 – CodeFusionMobile
@ CodeFusionMobile:好的,但是如何確保我的應用程序在每次不運行時都能正常工作,因爲如果我必須發送通知,我必須每天檢查(或者用戶選擇哪個) – Kooki