android开机自启

1、监控RECEIVE_BOOT_COMPLETED,即开机自启动事件AndroidManifest.xml 设置开机启动权限以及相应的receiver
2、监控sd卡的mount事件,开机的时候一般都会扫描sd卡,监控sd卡事件也有类似开机启动效果,特别app安装在sd卡的情况下有些os是抓取不到RECEIVE_BOOT_COMPLETED所以设置android:installLocation=“internalOnly”,限制app的安装位置,使其能抓取到RECEIVE_BOOT_COMPLETED

     <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:installLocation="internalOnly"
    package="com.arvin.playerautorun">

    <application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/logo"
        tools:replace="android:icon"
        android:label="@string/app_name"
        android:requestLegacyExternalStorage="true"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.PlayerAutorun"  >
    <activity android:name=".MainActivity"
        android:launchMode="singleTask"
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
        <receiver android:name=".AppBroadcastReceiver">
            <intent-filter android:priority="1000">
                <!--开机自动启动-->
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <!--&lt;!&ndash; 自动关机 &ndash;&gt;-->
                <action android:name="android.intent.action.ACTION_REQUEST_SHUTDOWN"/>
                <!--                监听sd卡挂载-->
                <action android:name="android.intent.action.MEDIA_MOUNTED"/>
                <action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
                <data android:scheme="file">
                </data>
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.HOME"/>
            </intent-filter>
        </receiver>

    </application>
</manifest>
        
上一篇:Linux 挂载大于2T的硬盘(利用parted工具)


下一篇:【C++ 语言】容器 ( queue 队列 | stack 栈 | priority_queue 优先级队列 | set 集合 | 容器遍历 | map )(二)