小米、华为Android10开机自己启动你的应用,需要手动改配置。
程序员文章站
2022-03-11 15:43:08
App开机自启动:一、AndroidManifest:
App开机自启动:
一、AndroidManifest:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.safe.test" android:installLocation="internalOnly"> <uses-permission android:name="android.permission.CAMERA" /> <!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 从SDCard读取数据权限 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.WRITE_CALENDAR" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".ui.login.LoginActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!--下面这个包名要与com.safe.test.ui.login.MyReceiver这个包名与你应用中要一致--> <receiver android:name="com.safe.test.ui.login.MyReceiver" android:enabled="true" android:exported="true"> <intent-filter android:priority="1000"> <action android:name="android.intent.action.BOOT_COMPLETED"></action> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </receiver> </application> </manifest>
二、MyReceiver.java类,放在与Activity相同路径下,android:name="com.safe.test.ui.login.MyReceiver"
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class MyReceiver extends BroadcastReceiver { public MyReceiver() { } @Override public void onReceive(Context context, Intent intent) { Log.e("MyReceiver","onReceive:"+intent.getAction().toString()); if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { Intent thisIntent = new Intent(context, LoginActivity.class);//设置要启动的app thisIntent.setAction("android.intent.action.MAIN"); thisIntent.addCategory("android.intent.category.LAUNCHER"); thisIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(thisIntent); Log.e("MyReceiver","startActivity:"+LoginActivity.class.toString()); } } }
三、代码已经添加完成,生下的就是手动启动开机自动运行权限了,
对于小米10来说 设置-》应用设置-》授权管理-》自启动管理 中打开你的应用
然后,还有设置-》应用设置-》授权管理-》应用权限管理中
后台弹出界面要打开
然后,重启动系统,输入解锁屏幕密码后就可以看到应用自动运行了。
对于华为android 10来说,在设置中搜 “启动”关键字,进入启动管理
选择你的应用,设为手机,把下面三个开关开开即可。重启后就能自动运行了。
本文地址:https://blog.csdn.net/babytiger/article/details/111909199