2
我不想更新我的應用程序widget的UI當它去背景(你看不到它),我怎麼知道一個應用程序widget在後臺?我怎麼能知道一個Android應用程序widget是否在後臺
我不想更新我的應用程序widget的UI當它去背景(你看不到它),我怎麼知道一個應用程序widget在後臺?我怎麼能知道一個Android應用程序widget是否在後臺
您無法檢測到您的主屏幕小部件當前是否可見。有一個開放的錯誤報告要求這個here。
在最好的情況,你可以檢查,看看是否在主屏幕(或一般的任何發射器)是可見:
public boolean isHomeShowing(){
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
ArrayList<string> homeList = new ArrayList<string>();
for(ResolveInfo info : this.getPackageManager().queryIntentActivities(intent, 0)){
homeList.add(info.activityInfo.packageName);
}
ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
for (RunningTaskInfo t : am.getRunningTasks(1)) {
if (t != null && t.numRunning > 0) {
ComponentName cn = t.baseActivity;
if (cn == null)
continue;
else
if (homeList.contains(cn.getPackageName())) return true;
}
}
return false;
}
非常感謝您的回答。 – xjy2061 2013-03-20 02:00:45