如何在android手機上實現app開機自動執行啟動(可以開啟應用介面)。
阿新 • • 發佈:2019-01-26
測試專案的時候實在一個android系統的車載終端上進行的,因為沒有終端沒螢幕操作起來比較麻煩,所以乾脆把用到的app寫成開機自動執行,就可以了。感覺不是很困難,我就答應了大師兄的這個要求,然後就在網上查詢相關的程式碼。最終找到了這個可以完美執行,不知道是不是有bug或者有更好的方法,希望大家指點。
首先說一下我所知道的這個程式碼是如何實現的。android系統在開機的過程中(可能是最後)會發送一個廣播android.intent.action.BOOT_COMPLETED,這個廣播的意思就是裝置告訴我們“”我已經開機了!”然後我們可以在程式碼中用一個廣播接受者來接受這個廣播,然後觸發開啟app應用的操作。
首先在你的工程上建一個廣播接受的類來:
package edu.hrbeu.xiaox.autosetup; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; /** * @author 編寫人: xiaox * @date 建立時間: 2016/8/20 * @Description 功能描述: 該類用來實現該app開機自動執行 */ public class BootBroadcastReceiver extends BroadcastReceiver { /** * demo2: 可以實現開機自動開啟軟體並執行。 */ @Override public void onReceive(Context context, Intent intent) { Log.d("XRGPS", "BootReceiver.onReceive: " + intent.getAction()); System.out.println("自啟動程式即將執行"); //MainActivity就是開機顯示的介面 Intent mBootIntent = new Intent(context, MainActivity.class); //下面這句話必須加上才能開機自動執行app的介面 mBootIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(mBootIntent); } }
然後我們要在AndroidManifest.xml中加入許可權和配置相關資訊,
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
在application標籤中,配置相關資訊:
<pre name="code" class="java"><!--開機廣播接受者--> <receiver android:name=".BootBroadcastReceiver"> <intent-filter> <!--註冊開機廣播地址--> <action android:name="android.intent.action.BOOT_COMPLETED"></action> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver>
好了,這樣就可以開機自動啟動app了。