[英]How to start the application after boot complete in android version 3.1 and above?
我認識了啟動完成意圖不被Android版本3.1及以上版本支持從這里 。 但在我的申請中。 我想在設備重啟后在我的應用程序中自動啟動服務。 我不希望用戶手動啟動我的應用程序。 我該怎么做 ? 提前感謝您的幫助。
是什么讓你認為不再發送ACTION_BOOT_COMPLETED廣播? 我經常使用它,其他人也經常使用它。 請確保您的清單中有RECEIVE_BOOT_COMPLETED權限。
嘗試以下步驟以在啟動后啟動應用程序:
創建一個擴展BroadcastReceiver的類:
public class AutostartService extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("in broad....");
if ((intent.getAction() != null) && (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")))
{
System.out.println("in broadcast receiver.....");
Intent i = new Intent(context, Splash.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
並在android清單文件中添加此項:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<receiver android:name=".AutostartService" android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
嗯現在這已經很老了,可能大多數人都學到了它,但仍然有用。
從3.1+開始,為了接收BOOT_COMPLETED
,您的應用必須至少由用戶啟動一次。
注意:此規則不適用於/system
應用程序
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.