android service启动AlertDialog

项目中是接收系统广播启动service,然后在service中弹出列表样式的AlertDialog。

1.广播启动service,intent传递路径

Intent i = new Intent(context, UpdateSystemService.class);
i.putExtra("update_path",updatePath);
context.startService(i);

2.service中初始化AlertDialog并作为系统弹框显示出来

AlertDialog.Builder builder = new AlertDialog.Builder(mContext,AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
 
builder.setCancelable(false);
builder.setTitle(R.string.alert_update_title);
builder.setMultiChoiceItems(mUpdateFile,mCheck,null); 

builder.setPositiveButton(R.string.alert_confirm_update_ok, null);
builder.setNegativeButton(R.string.alert_confirm_update_cancel, null); 

        mAlertDialog = builder.create();//(create()一定要在所有的builder属性设置完以后才可以,否则无法显示)
mAlertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
mAlertDialog.setCanceledOnTouchOutside(false);
mAlertDialog.show();

3.AndroidManifest.xml中添加

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

   <service android:name="com.cyanogenmod.filemanager.ui.dialogs.UpdateSystemService">
   </service>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值