Android判斷現(xiàn)在所處界面是否為home主桌面的方法
本文實(shí)例講述了Android判斷現(xiàn)在所處界面是否為home主桌面的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
/**
* 獲得屬于桌面的應(yīng)用的應(yīng)用包名稱
* @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)既然要判斷當(dāng)前界面,那就要判斷當(dāng)前的RunningTasks中的第一個(gè);
2)引入ActivityManager獲取RunningTasks;
3)取出RunningTasks中的topActivity的PackageName;
4)最后跟第一步得到的List做比較即可!
5)需添加相關(guān)權(quán)限
/**
* 判斷當(dāng)前界面是否是桌面
*/
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;
}
}
希望本文所述對(duì)大家的Android程序設(shè)計(jì)有所幫助。
- Android中監(jiān)聽Home鍵的4種方法總結(jié)
- android里面屏蔽home鍵/禁止Home鍵或者隨你DIY
- Android應(yīng)用開發(fā)中模擬按下HOME鍵的效果(實(shí)現(xiàn)代碼)
- android4.0屏蔽HOME鍵的簡(jiǎn)單實(shí)現(xiàn)
- Android監(jiān)聽home鍵的方法詳解
- Android監(jiān)聽Home鍵和Back鍵的區(qū)別介紹
- Android4.0.x Home鍵事件攔截監(jiān)聽的方法
- Android 屏蔽和捕獲Home鍵的示例代碼
- Android編程實(shí)現(xiàn)獲取標(biāo)題欄、狀態(tài)欄的高度、屏幕大小及模擬Home鍵的方法
- Android 解決監(jiān)聽home鍵的幾種方法
相關(guān)文章
Android實(shí)現(xiàn)自定義圓角對(duì)話框Dialog的示例代碼
項(xiàng)目中多處用到對(duì)話框,本篇文章主要介紹了Android實(shí)現(xiàn)圓角對(duì)話框Dialog的示例代碼,有興趣的可以了解一下。2017-03-03
Android混合開發(fā)教程之WebView的使用方法總結(jié)
WebView是一個(gè)基于webkit引擎、展現(xiàn)web頁(yè)面的控件,下面這篇文章主要給大家介紹了關(guān)于Android混合開發(fā)教程之WebView的使用方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧2018-05-05
Android字體相關(guān)知識(shí)總結(jié)
最近接到一個(gè)需求,大致內(nèi)容是:全局替換當(dāng)前項(xiàng)目中的默認(rèn)字體,并引入 UI 設(shè)計(jì)師提供的一些新字體。于是對(duì)字體做了些研究,把自己的一些心得分享給大家。注意:本文所展示的系統(tǒng)源碼都是基于Android-30 ,并提取核心部分進(jìn)行分析2021-06-06
Android自定義View繪制貝塞爾曲線中小紅點(diǎn)的方法
貝塞爾曲線的本質(zhì)是通過數(shù)學(xué)計(jì)算的公式來(lái)繪制平滑的曲線,分為一階,二階,三階及多階。但是這里不講數(shù)學(xué)公式和驗(yàn)證,那些偉大的數(shù)學(xué)家已經(jīng)證明過了,所以就只講講Android開發(fā)中的運(yùn)用吧2023-02-02
Android實(shí)現(xiàn)跟隨手指拖動(dòng)并自動(dòng)貼邊的View樣式(實(shí)例demo)
本文通過實(shí)例代碼給大家介紹了android實(shí)現(xiàn)跟隨手指拖動(dòng)并自動(dòng)貼邊的View樣式,效果非常棒,具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01
Android手勢(shì)密碼實(shí)現(xiàn)實(shí)例代碼
本篇文章主要介紹了Android手勢(shì)密碼實(shí)現(xiàn)實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-04-04

