【发布时间】:2017-01-25 12:32:51
【问题描述】:
我想在应用打开时获取它的包名。每当任何被 applock 锁定的应用程序打开时,我都想实现类似 applock 应用程序的功能,希望显示锁定屏幕。
我尝试了一些解决方案,但没有成功。 我在服务下面打电话,但没有得到包名
class ForegroundCheckTask extends AsyncTask<Context, Void, Boolean> {
@Override
protected Boolean doInBackground(Context... params) {
final Context context = params[0].getApplicationContext();
return isAppOnForeground(context);
}
private boolean isAppOnForeground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
if (appProcesses == null) {
return false;
}
final String packageName = context.getPackageName();
for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
Log.e(TAG, "Process Name : " + appProcess.processName);
return true;
}
return false;
}
}
【问题讨论】: