導航:首頁 > 操作系統 > android實現開機啟動

android實現開機啟動

發布時間:2022-12-20 13:58:52

⑴ 如何使android應用開機時自動啟動

如果需要在Android開機時自動啟動應用程序,可以通過響應android.intent.action.BOOT_COMPLETED廣播消息來實現, Android系統啟動結束時,會發出 android.intent.action.BOOT_COMPLETED 消息。 具體步驟如下:
1. 定義一個Broadcast Receiver ,比如:BootupReceiver

[java]
public class BootupReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {

//better delay some time.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Intent i = new Intent(context, BootupDemoActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);

}

}
public class BootupReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {

//better delay some time.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Intent i = new Intent(context, BootupDemoActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);

}

}

用於響應android.intent.action.BOOT_COMPLETED。

2. 在Manifest文件中定義該Broadcast Receiver

<receiver android:name=」.BootupReceiver」 android:enabled=」true」
android:permission=」android.permission.RECEIVE_BOOT_COMPLETED」>
<intent-filter>
<action android:name=」android.intent.action.BOOT_COMPLETED」></action>
<category android:name=」android.intent.category.DEFAULT」 />
</intent-filter>

</receiver>

3. 加上所需許可權

<uses-permission android:name=」android.permission.RECEIVE_BOOT_COMPLETED」 />

這些,但手機重啟示會自動運行你的應用。 不過此時你的應用可能會被屏幕鎖定擋住。解除屏幕鎖定後可以看到你運行的應用。

如果想用戶一開機就看到你的應用,可以使用代碼就屏幕鎖去除,方法如下:

1. 在Activity的onCreate事件處理中添加下面代碼
[java]
KeyguardManager keyguardManager
= (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);

lock.disableKeyguard();
KeyguardManager keyguardManager
= (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);

lock.disableKeyguard();
2. 在Manifest文件中添加所需許可權

<uses-permission android:name=」android.permission.DISABLE_KEYGUARD」 />

⑵ Android 設置開機自啟動

前段時間在做智能機器人等定製android系統開發的應用,因為機器人定製應用,需要在系統啟動的時候就運行程序,不需要展示系統桌面,這里需要用到系統開機應用自啟動,也就是常說的開機自啟動。
記錄一下實現流程:

在AndroidManifest.xml文件中配置監聽啟動許可權

新建一個監聽廣播接收者BootReceiver

安裝app到手機上,然後啟動一次程序(據說安卓4.0以後,必須先啟動一次程序才能接收到開機完成的廣播,目的是防止惡意程序)

如果按照上面的全部步驟後操作後,重啟沒有自動啟動程序,怎麼辦呢?是怎麼回事呢?

如果還是失敗,那麼請檢查你的手機是不是設置了app安裝首選位置是sd卡,據說安裝到sd卡的話,因為手機啟動成功後(發送了啟動完成的廣播後)才載入sd卡,所以app接收不到廣播。如果是的話,把app安裝到內部存儲試試。如果不懂得設置的話,那麼直接在AndroidManifest.xml文件中設置安裝路徑,在manifest的根節點中加入 android:installLocation="internalOnly" 。如下:

⑶ android的手機怎麼設置開機啟動項

1、打開手機,找到手機自帶的手機管家應用,點擊進入。

⑷ android怎麼設置開機啟動軟體

Android系統通過應用程序自行在系統中登記注冊事件(即Intent)來響應系統產生的各類消息。
例如Android實現系統開機自啟動程需要在Manifest中加入如下Intent-filter及許可權Uses-permission即可。
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
(修改時候主要是去掉上面該行即可)
<category android:name="android.intent.category.HOME" />
</intent-filter>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
(修改時候主要是去掉上面該行即可) Android系統為應用程序管理功能提供了大量的API,可以通過API控制Intent和permission,其中
上述配置表示應用程序會響應系統產生的android.intent.action.BOOT_COMPLETED(系統啟動完成)信號,以此來實現應用程序自啟動。當然知道上述原理後,我們就可以隨心所欲的控製程序開機自啟動了。具體思路如下:

一、手工方法
基於上述原理,我們可以通過對系統中已安裝的程序去除其Manifest的上述配置片段來控制應用程序的對系統的響應,當然沒源碼可修改編譯的情況下只能實現屏蔽其對有些信號的響應,例如屏蔽該程序不再開機自啟動。手工方法就是利用有關工具直接在解壓其APK包後,修改其Manifest的上述配置行後再打包成APK,最後安裝到系統中就實現了屏蔽其自啟動功能。具體相關的工具軟體主要有APKTOOL。(請自己放狗去搜索下載)

二、編程實現

當然手工方法需要藉助APKTOOL等工具,步驟比較法繁瑣,我們可以通過自己開發來實現該功能。幸好
1、PackageManager
本類API是對所有基於載入信息的數據結構的封裝,包括以下功能:
·安裝,卸載應用
·查詢permission相關信息
·查詢Application相關信息(application,activity,receiver,service,provider及相應屬性等)
·查詢已安裝應用
·增加,刪除permission
·清除用戶數據、緩存,代碼段等
非查詢相關的API需要特定的許可權,具體的API請參考SDK文檔。

2、ActivityManager相關
本類API是對運行時管理功能和運行時數據結構的封裝,包括以下功能
·激活/去激活activity
·注冊/取消注冊動態接受intent
·發送/取消發送intent
·activity生命周期管理(暫停,恢復,停止,銷毀等)
·activity task管理(前台->後台,後台->前台,最近task查詢,運行時task查詢)
·激活/去激活service
·激活/去激活provider等
task管理相關API需要特定的許可權,具體API可參考SDK文檔。

⑸ android 開機自啟動的幾種方法

第一種: 監控RECEIVE_BOOT_COMPLETED,即開機啟動事件

第二種: 監控sd卡mount事件, 監控sd卡事件也有類似開機啟動效果。特別app安裝在sd卡的情況下有些os是抓取不到RECEIVE_BOOT_COMPLETED

第三種: android:installLocation="internalOnly", 限制app的安裝位置,使其能抓取到RECEIVE_BOOT_COMPLETED

第四種: 監聽電話或者簡訊事件。

⑹ Android 使用廣播系統解決app開機自啟動問題

關注 【網羅開發】微信公眾號,回復【160】便可領取。
網羅天下方法,方便你我開發 ,更多Android技術干貨等待領取,所有文檔會持續更新,歡迎關注一起成長!

總結一下使用ACTION_BOOT_COMPLETED的廣播,解決app開機自啟動的問題
1.首先在你的工程上建一個廣播接受的類,繼承BroadcastReceiver:

2.然後要在AndroidManifest.xml中加入許可權和配置相關信息:

3.在application標簽中,配置以下相關信息:

補充說明:
1.查看系統中是否安裝了類似360管家的軟體,為了加快開機速度,默認是關閉掉開機廣播的,只需要在設置中打開即可。
2.如果監聽不到廣播,可以嘗試同時監聽廣播和sd卡。
3.同時監聽廣播和sd卡,在application標簽中,配置以下相關信息:

⑺ Android 開機自啟動service實踐

Android 設備啟動的時候,會發送android.intent.action.BOOT_COMPLETED的廣播,監聽這個廣播來實現開機自啟動。

1) 創建需要的service和 BroadcastReceiver
2) 在AndroidManifest.xml 注冊service 和BroadcastReceiver

3)申明許可權
```
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

}

⑻ Android App 開機自啟動

<article class="_2rhmJa">

Android 設備開機自啟動的可以用廣播實現,因為 Android 設備開機時會發送一條開機廣播 "android.intent.action.BOOT_COMPLETED"。接收後實現啟動就完成了。

接下來是准備工作

如果按照上面的全部步驟後操作後,重啟沒有自動啟動程序,怎麼辦呢?是怎麼回事呢?

*那麼首先請檢查一下你的手機是不是安裝了360等安全助手之類的軟體,如果有,請在軟體的自啟動軟體管理中將app設置為允許
*我的手機沒有安裝這些軟體,但是手機中自帶了安全助手,有的手機系統設置裡面自帶了自啟動軟體管理的功能 ,所以在這里將我們的app設置為允許開機啟動),重啟手機,測試是否成功。

然而並沒有成功

接收不到BOOT_COMPLETED廣播可能的原因
(1)、BOOT_COMPLETED對應的action和uses-permission沒有一起添加
(2)、應用安裝到了sd卡內,安裝在sd卡內的應用是收不到BOOT_COMPLETED廣播的
(3)、系統開啟了Fast Boot模式,這種模式下系統啟動並不會發送BOOT_COMPLETED廣播
(4)、應用程序安裝後重來沒有啟動過,這種情況下應用程序接收不到任何廣播,包括BOOT_COMPLETED、ACTION_PACKAGE_ADDED、CONNECTIVITY_ACTION等等。
Android3.1之後,系統為了加強了安全性控制,應用程序安裝後或是(設置)應用管理中被強制關閉後處於stopped狀態,在這種狀態下接收不到任何廣播,除非廣播帶有FLAG_INCLUDE_STOPPED_PACKAGES標志,而默認所有系統廣播都是FLAG_EXCLUDE_STOPPED_PACKAGES的,所以就沒法通過系統廣播自啟動了。所以Android3.1之後
(1)、應用程序無法在安裝後自己啟動
(2)、沒有ui的程序必須通過其他應用激活才能啟動,如它的Activity、Service、Content Provider被其他應用調用。
存在一種例外,就是應用程序被adb push you.apk /system/app/下是會自動啟動的,不處於stopped狀態。

並不太懂 我的APP啟動後 已經收到廣播

第一種方式 我再模擬器上 測試 可以 android 9.0版本

桌面設置也會把你的app當成一個桌面主題,還有一個選項是系統桌面,你需要設置成自己的app

如果找不到桌面設置選項,可以從手機設置–應用程序-查看所有應用程序(包括系統的應用程序),找到桌面程序之類的字眼的應用,清楚其默認設置。

閱讀全文

與android實現開機啟動相關的資料

熱點內容
伊克塞爾文檔怎麼進行加密 瀏覽:884
app轉賬是什麼 瀏覽:157
php的基本語法 瀏覽:790
對外漢語pdf 瀏覽:516
如何用mamp本地web伺服器 瀏覽:869
如何加密自己js代碼 瀏覽:627
排列組合a與c的演算法 瀏覽:534
如何在文件夾中找到同名內容 瀏覽:786
有什麼app文字轉韓文配音 瀏覽:372
循環宏1命令 瀏覽:35
斐波那契數列矩陣演算法 瀏覽:674
公式保護後加密不了 瀏覽:82
java跳轉到jsp 瀏覽:819
327平方根演算法 瀏覽:216
win7美化命令行終端 瀏覽:797
免加密狗圖片 瀏覽:485
一隻透明的鳥是什麼app 瀏覽:817
空氣壓縮機油批發商 瀏覽:69
linuxifexist 瀏覽:4
加密tf卡拷入文件 瀏覽:399