在Android N之后已經(jīng)不再適用,新的方法抽個(gè)時(shí)間研究下
/**
* 判斷當(dāng)前界面是否是桌面
*/
public static booleanisHome(Context ctx) {
ActivityManager mActivityManager = (ActivityManager)ctx.getSystemService(Context.ACTIVITY_SERVICE);
List rti = mActivityManager.getRunningTasks(1);
returngetHomes(ctx).contains(rti.get(0).topActivity.getPackageName());
}
/**
* 獲得屬于桌面的應(yīng)用的應(yīng)用包名稱
*
* @return返回包含所有包名的字符串列表
*/
private staticListgetHomes(Context ctx) {
List names =newArrayList();
PackageManager packageManager = ctx.getPackageManager();
Intent intent =newIntent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
List resolveInfo = packageManager.queryIntentActivities(intent,PackageManager.MATCH_DEFAULT_ONLY);
for(ResolveInfo ri : resolveInfo) {
names.add(ri.activityInfo.packageName);
}
returnnames;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。