android之開機跳過鎖屏界面自啓動應用

最近做了個開機跳過鎖屏界面直接啓動應用的程序,做下總結

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命令


效果如下:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章