如何使APP开机自启动
生活随笔
收集整理的這篇文章主要介紹了
如何使APP开机自启动
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方案一
將app做成系統應用,直接安裝在 system/app 目錄下
具體步驟為:
1.在AndroidManifest文件中,添加
例如:
2.將您的apk直接通過adb命令push到system/app下面,重啟手機即可
方案二
1.創建一個廣播接收者
package itbird.com.myapplication33;import android.app.ActivityManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; import java.util.List;/*** Created by xfkang on 2018/5/7.*/public class MyReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if (intent == null) {return;}Log.d("MyReceiver", intent.getAction());if (!isRun(context, "itbird.com.myapplication33")) {intent.setClass(context, MainActivity.class);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent);}}/*** 判斷應用是否在運行** @param context* @return*/public boolean isRun(Context context, String packagename) {ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(100);boolean isAppRunning = false;//100表示取的最大的任務數,info.topActivity表示當前正在運行的Activity,info.baseActivity表系統后臺有此進程在運行for (ActivityManager.RunningTaskInfo info : list) {if (info.topActivity.getPackageName().equals(packagename) || info.baseActivity.getPackageName().equals(packagename)) {isAppRunning = true;Log.d("ActivityService isRun()", info.topActivity.getPackageName() + " info.baseActivity.getPackageName()=" + info.baseActivity.getPackageName());break;}}Log.d("ActivityService isRun()", "com.ad 程序 ...isAppRunning......" + isAppRunning);return isAppRunning;} }2.給receiver配置對應intent-filter
<receiver android:name=".MyReceiver"><intent-filter><action android:name="ITBIRD.TEST.ACTION"/></intent-filter></receiver>3.添加權限,缺少這步則無法在Android 3.0及其之前版本上自啟動
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />注意
1.由于Android系統在外置SD卡加載前廣播ACTION_BOOT_COMPLETED,于是如果應用安裝在外置SD卡上,它無法接收到此廣播
2.FLAG_INCLUDE_STOPPED_PACKAGES的問題,請閱讀《Android應用在未啟動的情況下接受指定廣播》
總結
以上是生活随笔為你收集整理的如何使APP开机自启动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库for update 之后未提交事
- 下一篇: 快速排序的原理,实现及特点