直接上代碼:
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三部手機,均能找到桌面設置這個選項)
如果找不到桌面設置選項,可以從手機設置 主站蜘蛛池模板: 丰顺县| 海原县| 安徽省| 荣昌县| 名山县| 乐东| 来宾市| 微山县| 淅川县| 涿鹿县| 广德县| 大英县| 环江| 彭阳县| 宁海县| 珲春市| 新邵县| 南江县| 泰宁县| 沂水县| 长白| 崇文区| 江北区| 台安县| 伊宁市| 大姚县| 富源县| 扶绥县| 赣榆县| 锡林郭勒盟| 察哈| 雅安市| 两当县| 察雅县| 自贡市| 渭源县| 邹城市| 横山县| 九龙坡区| 定西市| 南京市|