android之开机跳过锁屏界面自启动应用

来源:互联网 发布:eos utility for mac 编辑:程序博客网 时间:2024/05/20 03:06

最近做了个开机跳过锁屏界面直接启动应用的程序,做下总结

1、首先开机自启动,不用多说,只需要写个broadcastreceiver接收开启启动完成的广播即可Intent.ACTION_BOOT_COMPLETED


public class BootCompletedReceiver extends BroadcastReceiver{    @Override    public void onReceive(Context context, Intent intent) {        String action = intent.getAction();        if((Intent.ACTION_BOOT_COMPLETED).equals(action)){            Intent intent1 = new Intent(context,MainActivity.class);            intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);            context.startActivity(intent1);        }    }
2、在menifest中注册,并且添加接收开机完成广播的权限

<receiver android:name=".BootCompletedReceiver">    <intent-filter android:priority="1000">        <action android:name="android.intent.action.BOOT_COMPLETED" />    </intent-filter></receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
3、在要启动的activity上加上两行代码,那么这个自启动activity就可以跳过锁屏界面直接显示到界面

protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    int flags = WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;    getWindow().addFlags(flags);    setContentView(R.layout.activity_main);

使用注意的是跳过锁屏界面的只是这一个activity界面,其他的不会,若要其他的activity也跳过锁屏界面(即在这个activity启动另一个activity),那么另一个activity也需要加上上面那两行代码,不然就会先返回锁屏界面,锁屏界面进去了之后才是那个activity


模拟器关机技巧:使用adb shell am broadcast -a android.intent.action.BOOT_COMPLETED命令


效果如下:


0 0