一、这边最近做了一款定制化开发的一款设备,需要这个设备只有这个程序,那就是开机自启,替换主页Home就可以了,首页创建一个广播类.
package com.example.property_gate_pad_android.utils;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.example.property_gate_pad_android.ui.main.MainActivity;
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())){
try {
Intent thisIntent = new Intent(context, MainActivity.class);
thisIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(thisIntent);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
二、接下来就是适配器操作了,这边使用静态注册去清单文件注册.
<application
........
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<activity
android:name=".ui.launcher.LauncherActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<!--配置设备自启动替换主程序-->
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY"/>
</intent-filter>
</activity>
<!--开机自启动-->
<receiver
android:name=".utils.BootReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
........
</application>
三、然后就可以了,还是挺简单的主要是通过广播调用了开机权限去操作,记得设置权限.
|