Android中 如何判断现在所处的界面是否为home主桌面
来源:互联网 发布:数据库开发教程 编辑:程序博客网 时间:2024/05/17 08:33
/**
* 获得属于桌面的应用的应用包名称
* @return 返回包含所有包名的字符串列表
*/
private List<String> getHomes() {
List<String> names = new ArrayList<String>();
PackageManager packageManager = this.getPackageManager();
//属性
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
List<ResolveInfo> resolveInfo = packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
for(ResolveInfo ri : resolveInfo){
names.add(ri.activityInfo.packageName);
Log.i("zhangyinfu PinyinIME.java", "packageName =" + ri.activityInfo.packageName);
}
return names;
}
分析:1)既然要判断当前界面,那就要判断当前的RunningTasks中的第一个;
2)引入ActivityManager获取RunningTasks;
3)取出RunningTasks中的topActivity的PackageName;
4)最后跟第一步得到的List做比较即可!
5)需添加相关权限
<uses-permission android:name="android.permission.GET_TASKS" />
/**
* 判断当前界面是否是桌面
*/
public boolean isHome(){
ActivityManager mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> rti = mActivityManager.getRunningTasks(1);
List<String> strs = getHomes();
if(strs != null && strs.size() > 0){
return strs.contains(rti.get(0).topActivity.getPackageName());
}else{
return false;
}
}
原文地址:http://www.linuxidc.com/Linux/2012-02/54987.htm
- Android中 如何判断现在所处的界面是否为home主桌面
- Android中 如何判断现在所处的界面是否为home主桌面
- Android中 如何判断现在所处的界面是否为home主桌面
- Android判断当前界面是否为桌面
- Android 判断当前的界面是否是桌面的方法
- Android 判断当前的界面是否是桌面的方法
- [Android]判断当前界面是否是桌面
- Android判断当前界面是否是桌面
- Android中SQLite的Cursor如何判断是否为空
- Android中SQLite的Cursor如何判断是否为空
- Android Tips: 如何判断所安装的应用是否为系统应用
- Android判断当前界面是否是home界面
- 判断是否为桌面
- android 如何定制桌面(home screen)界面shortcut
- 在JSP界面中判断一个按钮现在是否可用的方法
- android判断当前界面是否是桌面(主页)
- 【转】android判断当前界面是否是桌面(主页)
- Android判断当前界面是否是桌面(主页)
- 黑马程序员-Java基础常用类
- 第一次破解软件
- 黑马程序员-Eclipse
- 浅谈JCFXBL“技术管理”思路
- Android沙盘原理与实现
- Android中 如何判断现在所处的界面是否为home主桌面
- Ural1519Formula 1
- java String 类详解
- LA 3971 Assemble(组装电脑 最小值最大 二分答案)
- 关于Android NDK如何成功调用stl的使用分析
- Unity--WWW.movie
- 对五年后的自己说点什么呢?
- Windows 8系统下光驱不能正确识别的解决办法
- javascript Date的使用