本文整理汇总了Java中android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND属性的典型用法代码示例。如果您正苦于以下问题:Java RunningAppProcessInfo.IMPORTANCE_BACKGROUND属性的具体用法?Java RunningAppProcessInfo.IMPORTANCE_BACKGROUND怎么用?Java RunningAppProcessInfo.IMPORTANCE_BACKGROUND使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类android.app.ActivityManager.RunningAppProcessInfo
的用法示例。
在下文中一共展示了RunningAppProcessInfo.IMPORTANCE_BACKGROUND属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: isBackground
/**
* 判断当前应用程序是否后台运行
*/
public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager
.getRunningAppProcesses();
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
// 后台运行
return true;
} else {
// 前台运行
return false;
}
}
}
return false;
}
示例2: isBackground
/**
* foreground or background
*/
public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager
.getRunningAppProcesses();
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
// background
return true;
} else {
// foreground
return false;
}
}
}
return false;
}
示例3: isBackground
/**
* @param context
* @return
*/
public static boolean isBackground(final Context context) {
final ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
final List<RunningAppProcessInfo> appProcesses = activityManager
.getRunningAppProcesses();
for (final RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
return true;
} else {
return false;
}
}
}
return false;
}
示例4: getImportance
private String getImportance( RunningAppProcessInfo proc )
{
String impt = "Empty"; //$NON-NLS-1$
switch ( proc.importance )
{
case RunningAppProcessInfo.IMPORTANCE_BACKGROUND :
impt = "Background"; //$NON-NLS-1$
break;
case RunningAppProcessInfo.IMPORTANCE_FOREGROUND :
impt = "Foreground"; //$NON-NLS-1$
break;
case RunningAppProcessInfo.IMPORTANCE_PERCEPTIBLE :
impt = "Perceptible"; //$NON-NLS-1$
break;
case RunningAppProcessInfo.IMPORTANCE_SERVICE :
impt = "Service"; //$NON-NLS-1$
break;
case RunningAppProcessInfo.IMPORTANCE_VISIBLE :
impt = "Visible"; //$NON-NLS-1$
break;
}
return impt;
}
示例5: isBackground
public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
return appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND;
}
}
return false;
}
示例6: isSPARunnung
public boolean isSPARunnung() {
ActivityManager activityManager = (ActivityManager) getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
for( int i = 0; i < procInfos.size(); i++ ) {
if( procInfos.get( i ).processName.equals( Constants.SPA_PACKAGE_NAME ) ) {
if( procInfos.get( i ).importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND || procInfos.get( i ).importance == RunningAppProcessInfo.IMPORTANCE_VISIBLE ) {
return true;
} else if( procInfos.get( i ).importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND && procInfos.get( i ).lru == Constants.BG_IMPORTANCE_LIVE ) {
return true;
}
}
}
return false;
}
示例7: includeAppFromProcess
private void includeAppFromProcess(MatrixCursor result, String docId, AndroidAppProcess processInfo, String query ) {
String process = processInfo.name;
final String packageName = processInfo.getPackageName();
process = process.substring(process.lastIndexOf(".") + 1, process.length());
String summary = "";
String displayName = "";
ApplicationInfo appInfo = null;
try {
appInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES).applicationInfo;
displayName = process ;
} catch (Exception e) { }
if (TextUtils.isEmpty(displayName)) {
displayName = process;
}
if (null != query && !displayName.toLowerCase().contains(query)) {
return;
}
final String path = null != appInfo ? appInfo.sourceDir : "";
final String mimeType = Document.MIME_TYPE_APK;
int flags = Document.FLAG_SUPPORTS_DELETE | Document.FLAG_SUPPORTS_THUMBNAIL;
if(isTelevision()) {
flags |= Document.FLAG_DIR_PREFERS_GRID;
}
int importance = processInfo.foreground ? RunningAppProcessInfo.IMPORTANCE_FOREGROUND : RunningAppProcessInfo.IMPORTANCE_BACKGROUND;
summary = processTypeCache.get(importance);
final long size = getProcessSize(processInfo.pid);
final RowBuilder row = result.newRow();
row.add(Document.COLUMN_DOCUMENT_ID, getDocIdForApp(docId, packageName));
row.add(Document.COLUMN_DISPLAY_NAME, displayName);
row.add(Document.COLUMN_SUMMARY, summary);
row.add(Document.COLUMN_SIZE, size);
row.add(Document.COLUMN_MIME_TYPE, mimeType);
//row.add(Document.COLUMN_LAST_MODIFIED, lastModified);
row.add(Document.COLUMN_PATH, path);
row.add(Document.COLUMN_FLAGS, flags);
}
示例8: includeAppFromService
private void includeAppFromService(MatrixCursor result, String docId, RunningServiceInfo processInfo, String query ) {
String process = processInfo.process;
final String packageName = processInfo.process;
process = process.substring(process.lastIndexOf(".") + 1, process.length());
String summary = "";
String displayName = "";
ApplicationInfo appInfo = null;
try {
appInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES).applicationInfo;
displayName = process ;
} catch (Exception e) { }
if (TextUtils.isEmpty(displayName)) {
displayName = process;
}
if (null != query && !displayName.toLowerCase().contains(query)) {
return;
}
final String path = null != appInfo ? appInfo.sourceDir : "";
final String mimeType = Document.MIME_TYPE_APK;
int flags = Document.FLAG_SUPPORTS_DELETE | Document.FLAG_SUPPORTS_THUMBNAIL;
if(isTelevision()) {
flags |= Document.FLAG_DIR_PREFERS_GRID;
}
int importance = processInfo.foreground ? RunningAppProcessInfo.IMPORTANCE_FOREGROUND : RunningAppProcessInfo.IMPORTANCE_BACKGROUND;
summary = processTypeCache.get(importance);
final long size = getProcessSize(processInfo.pid);
final RowBuilder row = result.newRow();
row.add(Document.COLUMN_DOCUMENT_ID, getDocIdForApp(docId, packageName));
row.add(Document.COLUMN_DISPLAY_NAME, displayName);
row.add(Document.COLUMN_SUMMARY, summary);
row.add(Document.COLUMN_SIZE, size);
row.add(Document.COLUMN_MIME_TYPE, mimeType);
//row.add(Document.COLUMN_LAST_MODIFIED, processInfo.lastActivityTime);
row.add(Document.COLUMN_PATH, path);
row.add(Document.COLUMN_FLAGS, flags);
}
示例9: runProcessGC
private void runProcessGC() {
if (mHostContext == null) {
return;
}
ActivityManager am = (ActivityManager) mHostContext.getSystemService(Context.ACTIVITY_SERVICE);
if (am == null) {
return;
}
List<RunningAppProcessInfo> infos = am.getRunningAppProcesses();
List<RunningAppProcessInfo> myInfos = new ArrayList<RunningAppProcessInfo>();
if (infos == null || infos.size() < 0) {
return;
}
List<String> pns = mStaticProcessList.getOtherProcessNames();
pns.add(mHostContext.getPackageName());
for (RunningAppProcessInfo info : infos) {
if (info.uid == android.os.Process.myUid()
&& info.pid != android.os.Process.myPid()
&& !pns.contains(info.processName)
&& mRunningProcessList.isPlugin(info.pid)
&& !mRunningProcessList.isPersistentApplication(info.pid)
/*&& !mRunningProcessList.isPersistentApplication(info.pid)*/) {
myInfos.add(info);
}
}
Collections.sort(myInfos, sProcessComparator);
for (RunningAppProcessInfo myInfo : myInfos) {
if (myInfo.importance == RunningAppProcessInfo.IMPORTANCE_GONE) {
doGc(myInfo);
} else if (myInfo.importance == RunningAppProcessInfo.IMPORTANCE_EMPTY) {
doGc(myInfo);
} else if (myInfo.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
doGc(myInfo);
} else if (myInfo.importance == RunningAppProcessInfo.IMPORTANCE_SERVICE) {
doGc(myInfo);
} /*else if (myInfo.importance == RunningAppProcessInfo.IMPORTANCE_CANT_SAVE_STATE) {
//杀死进程,不能保存状态。但是关我什么事?
}*/ else if (myInfo.importance == RunningAppProcessInfo.IMPORTANCE_PERCEPTIBLE) {
//杀死进程
} else if (myInfo.importance == RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
//看得见
} else if (myInfo.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
//前台进程。
}
}
}