1. 程式人生 > 其它 >一個 android 開機自動啟動功能的測試

一個 android 開機自動啟動功能的測試

測試程式碼僅僅關於開機自動啟動,無其他功能

測試程式碼僅僅關於開機自動啟動,無其他功能。

要實現此功能簡單說包括三部分:AndroidManifest.xml,rec1.java,及設定開機自動啟動許可權。測試環境:android 4.4.2,java 1.6.0_45。


1. 具體程式碼

1.1 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lbs">
    <uses-permission android:name="
android.permission.RECEIVE_BOOT_COMPLETED" /> <application> <activity android:name="com.app1.act1"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER
" /> </intent-filter> </activity> <receiver android:name="com.app1.rec1" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application> </manifest>


1.2 rec1.java

public class rec1 extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "receiver...", Toast.LENGTH_LONG).show();
    }
}


2.一些說明
--adb install app1.apk 後應在設定裡手動開啟自動啟動許可權
--使用前需要手動啟動該app程式
--可以點選退出按鈕結束程式(java.lang.System.exit(0))
--這時程式會出現在 recent 中,不能從中劃掉
--重新啟動手機後不出現在 recent 中但receiver有效
--手動啟動程式並從recent中劃掉則receiver失效,重啟後仍失效
--adb uninstall com.app1 後失效
--重啟後 recent 裡不出現,且無法檢視目前狀態(receiver是否在工作)
--注意不應關閉該程式在設定裡的開機自動啟動許可權
--poweron 與 reboot 同效

[END]