设为首页 加入收藏

TOP

Android中后台显示悬浮窗口的方法
2014-11-24 07:17:38 来源: 作者: 【 】 浏览:0
Tags:Android 后台 显示 悬浮 窗口 方法

想照着音量对话框的做法,作一个在后台显示Dialog的方法,可是在Dialog.show()的时候,出了下面这个异样:


1、异常原因-没加权限


往下的调用顺序是


① android.view.ViewRootImpl.setView(ViewRootImpl.java:481)
② com.android.server.wm.Session.add(Session.java:139)
③ com.android.server.wm.WindowManagerService.addWindow(WindowManagerService:1999)
④ com.android.internal.policy.impl.PhoneWindowManager.checkAddPermission(PhoneWindowMana:1063)


在这里发现了


String permission = null;
switch (type) {
case TYPE_TOAST:
// XXX right now the app process has complete control over
// this... should introduce a token to let the system
// monitor/control what they are doing.
break;
case TYPE_INPUT_METHOD:
case TYPE_WALLPAPER:
// The window manager will check these.
break;
case TYPE_PHONE:
case TYPE_PRIORITY_PHONE:
case TYPE_SYSTEM_ALERT:
case TYPE_SYSTEM_ERROR:
case TYPE_SYSTEM_OVERLAY:
permission = android.Manifest.permission.SYSTEM_ALERT_WINDOW;
break;
default:
permission = android.Manifest.permission.INTERNAL_SYSTEM_WINDOW;
}


音量对话框用的是“TYPE_VOLUME_OVERLAY”,那就加上“INTERNAL_SYSTEM_WINDOW”


可是带进去一跑,还是不行,再找


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java实现把文件上传至ftp服务器 下一篇Android的CursorLoader用法小结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 安装及连接-腾 (2025-12-25 06:20:28)
·MySQL的下载、安装、 (2025-12-25 06:20:26)
·MySQL 中文网:探索 (2025-12-25 06:20:23)
·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)