分享源码给大家。就不发布APK了,有能力的自己打包成APP.
1.写个开机启动广播接收器。
public class StartUpReceiver extends BroadcastReceiver {
private Handler handler=new Handler();
@Override
public void onReceive(final Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
Toast.makeText(context,"防止被定制机桌面覆盖,延时5秒开机",Toast.LENGTH_SHORT).show();
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.post(new Runnable() {
@Override
public void run() {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
});
}
}).start();
}
}
}
2.在androidmanifest.xml加入广播注册
<receiver
android:name=".StartUpReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
3.加入接收开机启动消息接收代码
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
桌面APP代码就不发了,那些百度上都有,蛮简单的。我这个是负责把一个APP在接收到开机广播后等待5秒再启动,防止被定制机自带桌面给覆盖掉了。
1.写个开机启动广播接收器。
public class StartUpReceiver extends BroadcastReceiver {
private Handler handler=new Handler();
@Override
public void onReceive(final Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
Toast.makeText(context,"防止被定制机桌面覆盖,延时5秒开机",Toast.LENGTH_SHORT).show();
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.post(new Runnable() {
@Override
public void run() {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
});
}
}).start();
}
}
}
2.在androidmanifest.xml加入广播注册
<receiver
android:name=".StartUpReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
3.加入接收开机启动消息接收代码
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
桌面APP代码就不发了,那些百度上都有,蛮简单的。我这个是负责把一个APP在接收到开机广播后等待5秒再启动,防止被定制机自带桌面给覆盖掉了。