1. 程式人生 > >如何在android手機上實現app開機自動執行啟動(可以開啟應用介面)。

如何在android手機上實現app開機自動執行啟動(可以開啟應用介面)。

    測試專案的時候實在一個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了。