启动活动
我们知道,在广播接收器的onReceive()方法里,有传入了context对象,很多时候为了方便直接拿这个context对象启动别的活动,如:
Intent intent = new Intent(context,Activity.class);
context.startActivity(intent);
但这样是会报错的。正确的方法是:
Intent intent = new Intent(context,Activity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
弹出对话框
同样是在广播接收器的onReceive()方法里,用context对象弹出对话框,也要更改一下对话框的类型,写法如下:
AlertDialog alertDialog = dialogBuilder.create();//dialogBuilder是读者自己写,这个不用我说了。
alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.show();