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来说 设置-》应用设置-》授权管理-》自启动管理 中打开你的应用

%title插图%num

然后,还有设置-》应用设置-》授权管理-》应用权限管理中

%title插图%num
后台弹出界面要打开

%title插图%num

然后,重启动系统,输入解锁屏幕密码后就可以看到应用自动运行了。

 

对于华为android 10来说,在设置中搜 “启动”关键字,进入启动管理

选择你的应用,设为手机,把下面三个开关开开即可。重启后就能自动运行了。

%title插图%num