Android 5.1开机自启动示例程序(Activity,APP包启动)

为什么80%的码农都做不了架构师?>>>   hot3.png

当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动之即可。记住,Android框架说:Don''t call me, I''ll call you back。我们要做的是做好接收这个消息的准备,而实现的手段就是实现一个BroadcastReceiver。

AndroidManifest.xml文件内容:



    
    
        
            
                
 
                
            
        
        
            
                
                
            
        
    
 

BootBroadcast文件内容:

package com.ys.autostartdemo;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

/**
 * 文 件 名: BootBroadcast
 * 创 建 人: Ace.Wu
 * 创建日期: 2017/8/25 20:02
 * 修改时间:
 * 修改备注:
 */
public class BootBroadcast extends BroadcastReceiver{
    private static final String ACTION = "android.intent.action.BOOT_COMPLETED";
    private static final String TAG = "StartBroadcastReceiver";
    @Override
    public void onReceive(Context context, Intent intent){
        Log.d(TAG,"开机启动了");
        if (intent.getAction().equals(ACTION)){
            Log.d(TAG,"开机启动了接收到了");
  //          Intent i = new Intent(context,MainActivity.class);
            Intent newIntent = context.getPackageManager()
                    .getLaunchIntentForPackage("com.ys.autostartdemo");
//            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(newIntent);
            Log.d(TAG,"开机启动了接收到了^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
        }
    }
}

可以默认创建一个Activity,来测试这段代码

转载于:https://my.oschina.net/rhymo/blog/1525176

你可能感兴趣的:(Android 5.1开机自启动示例程序(Activity,APP包启动))