【第22期】观点:IT 行业加班,到底有没有价值?

在Service或者BroadCastReceiver中弹出dialog

原创 2016年08月29日 20:16:36

相信搜过这个问题的人都会得到这个答案:

然后在AndroidManifest.xml中加入权限:

<pre code_snippet_id="1856781" snippet_file_name="blog_20160829_3_5500833" name="code" data-original-code="</uses-permission>" data-snippet-id="ext.bb3fc4dc2963427f80f2cb0583a61658" data-snippet-saved="false" data-codota-status="done" style="line-height: 28px; white-space: pre-wrap; color: rgb(102, 102, 102); font-size: 16px; background-color: rgb(255, 255, 255);"><span style="color:#ff0000;"><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission></span>限:设置成系统权限的dialog,然后显示出来。但是部分机型总是会报错,提示add app not window。总会报错

下面是我的方法:

将Activity设置为dialog来显示。

1.LogOutDialog继承自Activity

2.在清单文件中设置以dialog方式显示

<!-- 窗口化activity的形式 -->
    <style name="dialogActivity" parent="@android:style/Theme.NoTitleBar">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:backgroundDimEnabled">true</item>
    </style>
<activity
        android:name=".view.dialog.LogOutDialog"
        android:theme="@style/dialogActivity"></activity>

3.在通知中打开

public void onReceive(Context ctx, Intent intent) {
		Intent intent = new Intent(ctx,LogOutDialog.class);
		intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		context.startActivity(intent);
	}



版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

BroadcastReceiver中弹出Dialog

BroadcastRecevier中弹出Dialog What:单设备登录情况下,账号在其他的设备上登录了,之前登录的设备会出现一个提示框提示被人登录了。

在BroadcastReceiver中利用推送设置全局弹窗,并将消息保存至本地

描述: 1、在app中收到推送,自动弹出窗口,显示推送内容。 2、选择是否保存消息,是>存到消息列表数据库。否>dimiss。用到的库: 1、极光推送JPush 2、GreenDao数据库相关...

Android 如何在service和BroadCastReceiver中 启动activity和alertdialog?

一.启动activity源码:(记得要加上Intent.FLAG_ACTIVITY_NEW_TASK)Intent intent = new Intent(); intent.setFlags(I...

解决在BroadcastReceiver(广播接受者)中不能添加AlertDialog(对话框)的问题(android.view.WindowManager$BadTokenException)

在BroadcastReceiver,当我们创建一个AlertDialog并show出来的时候,出现了下面的错误: 12-24 14:10:57.025: E/AndroidRuntime(1760...

【Android】BroadcastReceiver发送intent给service或者activity

BroadcastReceiver:对象的生命周期不超过5s,如果进行耗时工作,通过开线程,可以通过发送Intent给Activity或Service,由  Activity或者Service来完成。<br style="line-height: 25px; font-family: Arial

Android 用service实现不依赖activity的版本更新功能

关于app的版本检测和更新功能在service里的实现。 先介绍下项目背景。大部分app都需要提供一个在线更新的功能,一般有自动弹出对话框,或者点击某个按钮后,弹出对话框提示有新版本的更新。

Android的Service中弹出窗口解决方法

转于:http://www.cnblogs.com/fbsk/archive/2011/12/28/2304523.html   ------------------------------------------------------------------------------------------------- <p style="margin: 10px auto; line-height: 1.5;

Android核心组件笔记 待整理

核心组件笔记 一、Activity组件 1、四个名词的理解: Application:表示一个应用程序(APP) Activity:表示一个界面(活动),都有生命周期(相对独立的,由系统统...

Service与BroadcastReceiver(6)——Android进程间传递复杂数据(AIDL)

在上一篇中介绍了Andorid中的进程间的通信方式AIDL,本篇文章将介绍传递复杂数据的AIDL Service 下面通过一个示例说明: 本例子中用到了两个自定义类型:Person与Pet, 其中Person对象作为调用远程Service的参数,而Pet将作为返回值。就像RMI要求远程调用的参数和返回值必须实现Serializable接口,Android要求调用远程Service的参数和返回值都必须实现Parcelable接口。 实现Parcelable接口不仅要求实现该接口里定义的方法,还有两个要求: <span styl

《Android开发艺术探索》笔记

本笔记整理自: https://www.gitbook.com/book/tom510230/android_ka_fa_yi_shu_tan_suo/details 参考文章: http://s...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)