android中怎么用接收到广播后弹出对话框
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中怎么用接收到广播后弹出对话框相关的知识,希望对你有一定的参考价值。
我把一个广播接收器单独出来,想用接收到不同的广播弹出不同的对话框,怎么做呢
参考技术A 写个后台服务,注册你要接收的广播。通过Handler消息机制弹出相应的dialog(最好是自定义)追问如何在service里面弹出个Toast呢,我在service里面写没反应
本回答被提问者采纳Android广播接收器里弹出对话框
不多说,直接上车。。。
1 public class MyReceiver extends BroadcastReceiver { 2 @Override 3 public void onReceive(final Context context, Intent intent) { 4 AlertDialog.Builder builder = new AlertDialog.Builder(context); 5 builder.setTitle("提示"); 6 builder.setMessage("确定打开主界面吗?"); 7 builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 8 @Override 9 public void onClick(DialogInterface dialog, int which) { 10 Intent intent1 = new Intent(context, MainActivity.class); 11 12 //在广播接收器中启动活动,一定要给Intent加入FLAG_ACTIVITY_NEW_TASK标志 13 intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 14 context.startActivity(intent1); 15 } 16 }); 17 18 AlertDialog dialog = builder.create(); 19 20 //需要把对话框的类型设为TYPE_SYSTEM_ALERT,否则对话框无法在广播接收器里弹出 21 dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 22 dialog.show(); 23 } 24 }
注意:把对话框的类型设为了TYPE_SYSTEM_ALERT, 这样弹出的就是一个系统级别的对话框,因此必须声明android.permission.SYSTEM_ALERT_WINDOW权限。最后不要忘记注册广播接收器哦。
以上是关于android中怎么用接收到广播后弹出对话框的主要内容,如果未能解决你的问题,请参考以下文章
Unity,NGUI如何像GUI一样,点击按钮后弹出一个窗体呢