android5.0之后如何获取当前运行的应用包名
来源:互联网 发布:yum install gcc报错误 编辑:程序博客网 时间:2024/06/15 16:07
最近在项目中需要在用户处于某一个指定的应用(非当前项目的应用)界面时,自动弹出提示窗口。为了判断触发时机,我们需要判断当前前台应用的包名,那么如何获取前台应用的包名呢?
一种很自然的思路是获取当前运行栈中栈顶的activity,然后获取该activity的包名,最后进行判断,于是有了下面的代码——
这种方式在android5.0之前是没有问题的,然而,Android 5.0开始,Google开始对getRunningTasks接口进行限制使用。之前,使用该接口需要 android.permission.GET_TASKS即使是自己开发的普通应用,只要声明该权限,即可以使用getRunningTasks接口。但从5.0开始,这种方式以及废弃。应用要使用该接口必须声明权限Android.permission.REAL_GET_TASKS而这个权限是不对三方应用开放的。(在Manifest里申请了也没有作用),系统应用(有系统签名)可以调用该权限。
于是,有了另外一种思路:即运行应用的进程名称默认为包名,那么是不是可以通过获取进程信息间接获取到前台运行应用的包名呢?但是该方法的前提是前台Activity所在进程的名称为包名,若在manifest中自定义了其他的进程名,则失效。 0 0
- android5.0之后如何获取当前运行的应用包名和应用名称
- android5.0之后如何获取当前运行的应用包名
- android5.0之后如何获取当前运行的应用包名
- android 5.0之后如何获取当前运行的应用包名
- Android5.0之后获取后台正在运行的程序
- android获取当前运行的栈顶的应用包名
- android获取当前正在运行的栈顶的应用包名
- android获取当前正在运行的栈顶的应用包名
- Android 5.0以上 获取当前正在运行的应用包名
- android5.1+获取当前运行的app
- android5.1+获取当前运行的app2
- android5.1+获取当前运行的app
- android5.1.1通过getRunningServices获取当前运行的pid,进程名等
- 获取当前正在运行的App的包名
- Android获取当前所在应用的包名
- Android5.0以上获取正在运行的应用
- Android5.0以上获取topActivity的包名方法与以下的整合
- 获取当前运行的进程名?
- 关于Class.getResource和ClassLoader.getResource的路径问题
- mysql中limit优化
- 【NGUI】背包
- centos7 ipv6
- 初识NuGet及快速安装使用
- android5.0之后如何获取当前运行的应用包名
- Android动画全解
- 深度学习岗位面试问题整理笔记
- ubuntu下opencv3和opencv2共存
- seo如何快速有效的引流
- PHP模拟POST请求
- Lua 迭代器
- Java 实现深度优先和广度优先遍历
- 写给初学者32_android_安卓UI体验的升级-1