直接上代碼:
1.開機啟動APP
1.1 寫一個廣播接收器,用來接收手機開機廣播
`public class Receiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.e("broadCastReceiver","onReceiver..."); try { Intent mBootIntent = new Intent(context, MainActivity.class); // 下面這句話必須加上才能開機自動運行app的界面 mBootIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(mBootIntent); } catch (Exception e) { e.printStackTrace(); } }}`1.2 manifest中靜態注冊廣播接收器
<!--開機廣播接受者--> <receiver android:name=".Receiver"> <intent-filter> <!--注冊開機廣播地址--> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver>
2.開機直接運行app,并把app主頁面當成手機桌面
備注: 上面1中提到的,會在手機開機之后先顯示系統桌面,過一會才能啟動app,下面要提到的是開機直接把app Launcher頁面當成手機桌面,完成一開機就直接啟動app,不需要等待。
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.MONKEY"/> </intent-filter> </activity>
manifest中將主activity設置成上述樣子
這個時候1中注冊的廣播接收器其實可以不要了,可能與手機還會有關系,留與不留都可以試試。
(很多人到這里就以為可以了,結果重啟手機發現還是不行,看下面)
到這里,離成功只差關鍵一步,就是你需要在手機設置中找到 桌面設置 選項,找不到的可以在設置中的搜索欄搜一下,找到后你會發現桌面設置這里多了一個選項,就是你的這個app,因為加了 <category android:name="android.intent.category.HOME" />這一行,桌面設置也會把你的app當成一個桌面主題,還有一個選項是系統桌面,你需要設置成自己的app,重啟手機,ok!
(我測試了華為5.1華為7.0和小米5.2三部手機,均能找到桌面設置這個選項)
如果找不到桌面設置選項,可以從手機設置–應用程序-查看所有應用程序(包括系統的應用程序),找到桌面程序之類的字眼的應用,清楚其默認設置。清除之后回到APP,按回主頁面的時候應該會有類似選擇默認桌面的設置項。
如果解決了你的問題,請點贊多多支持吧!
以上這篇Android 開機直接運行app并當做手機桌面的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答