android 5.0之后如何获取当前运行的应用包名
2016-06-30 18:31
531 查看
先看看android5.0之前的获取方法:
// 1、得到当前运行的任务栈,参数就是得到多少个任务栈,1就是只拿一个任务栈
// 对应的也就是正在运行的任务栈啦 ,注意别忘了在清单文件中添加获取的权限
List runTaskInfos =
activityManager.getRunningTasks(1);
//拿到当前运行的任务栈
ActivityManager.RunningTaskInfo runningTaskInfo = runTaskInfos.get(0);
//拿到要运行的Activity的包名
runningpackageName = runningTaskInfo.baseActivity.getPackageName();
5.0以后可以通过
RunningAppProcessInfo对象拿到uid,通过下面方法就能拿到包名
getPackageManager().getPackagesForUid(uid);
或
ActivityManager activityManager = (ActivityManager) getContext().getSystemService(Context.ACTIVITY_SERVICE);
String _pkgName = activityManager.getRunningTasks(1).get(0).topActivity.getPackageName();
// 1、得到当前运行的任务栈,参数就是得到多少个任务栈,1就是只拿一个任务栈
// 对应的也就是正在运行的任务栈啦 ,注意别忘了在清单文件中添加获取的权限
List runTaskInfos =
activityManager.getRunningTasks(1);
//拿到当前运行的任务栈
ActivityManager.RunningTaskInfo runningTaskInfo = runTaskInfos.get(0);
//拿到要运行的Activity的包名
runningpackageName = runningTaskInfo.baseActivity.getPackageName();
5.0以后可以通过
RunningAppProcessInfo对象拿到uid,通过下面方法就能拿到包名
getPackageManager().getPackagesForUid(uid);
或
ActivityManager activityManager = (ActivityManager) getContext().getSystemService(Context.ACTIVITY_SERVICE);
String _pkgName = activityManager.getRunningTasks(1).get(0).topActivity.getPackageName();
相关文章推荐
- Android APP代码混淆proguard和加固
- android studio运行编译速度慢的解决方法
- android 腾讯微博
- 使用DialogFragment实现底部弹窗布局
- 关于Android Studio项目的Gradle构建
- 【分享】兼容ie6-9和现代浏览器以及ios,android,pad等触屏设备的异步文件上传插件
- 基础总结篇之一:Activity生命周期
- Android 上自定义的复式折线图(三)
- 使用Socket处理跨进程的实时聊天
- Android开发之RecyclerView的使用全解
- 如何高效的学习Android动画
- android studio log打不全,主要是json太多
- Android中ListView分页加载数据
- Android Marshmallow实现文字选中
- 获取Android进程中的包名
- AndroidStudio--Error converting bytecode to dex
- 使用AIDL实现Android的跨进程通信
- android的TextView中显示url
- android焦点
- /AndroidRuntime(11765): android.view.InflateException: Binary XML file line #19: Error inflating cla