2013-03-16 66 views

回答

1

您無法檢測到您的主屏幕小部件當前是否可見。有一個開放的錯誤報告要求這個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; 
} 
+0

非常感謝您的回答。 – xjy2061 2013-03-20 02:00:45

相關問題