作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不想在我的应用程序小部件进入后台时更新它的 UI(您看不到它),我怎么知道一个应用程序小部件在后台?
最佳答案
您无法检测您的主屏幕小部件当前是否可见。有一个开放的错误报告要求此 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;
}
关于android - 我怎么知道Android应用程序小部件是否在后台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15446717/
我是一名优秀的程序员,十分优秀!