Android 监听开机广播

来源:互联网 发布:黑道圣4低配优化 编辑:程序博客网 时间:2024/05/22 07:51

Android 监听开机广播,实现程序自启

手机开机,会发送一条广播,可以注册一个广播接受者,当接受到这条广播的时候,即可执行需要执行的操作。
需要在AndroidManifest.xml中,注册广播,原样复制,修改成自己的广播类。

<receiver android:name="包名+类名">    <intent-filter>        <action android:name="android.intent.action.BOOT_COMPLETED">        </action>    </intent-filter></receiver>

注意:需要加权限,否则广播不能接收。

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

广播类(我这里随意弹出一个notification,你可随意做你想做的事情):

public class Main3Activity extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent mIntent) {        // 在这里干你想干的事(启动一个Service,Activity等)        final NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);        NotificationCompat.Builder builder = new NotificationCompat.Builder(context);        // params        int smallIconId = R.mipmap.ic_launcher;        Bitmap largeIcon = ((BitmapDrawable) context.getResources().getDrawable(R.mipmap.ic_launcher)).getBitmap();        String info = "通知内容";        // action when clicked        Intent intent = new Intent();        intent.setAction(Intent.ACTION_VIEW);        intent.setData(Uri.parse("host://anotheractivity"));        builder.setLargeIcon(largeIcon)                .setSmallIcon(smallIconId)                .setContentTitle("通知标题")                .setContentText(info)                .setTicker(info)                .setContentIntent(PendingIntent.getActivity(context, 0, intent, 0));        final Notification n = builder.getNotification();        nm.notify("NotificationActivityDemo".hashCode(),n);        }    }
原创粉丝点击