日安。我是否可以使用android来获取用户正在工作的android应用程序的名称,以及这个应用程序中的会话时间。也就是说,服务将接收应用程序和会话的名称,并将其发送到数据库。
解决了。这是我的灵魂
private String getRunningAppByActivity(){
ActivityManager am = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
// get the info from the currently running task
List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
String name=componentInfo.getPackageName();
final PackageManager pm = context.getPackageManager();
ApplicationInfo ai;
try {
ai = pm.getApplicationInfo(name, 0);
} catch (final PackageManager.NameNotFoundException e) {
ai = null;
}
final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)");
Log.d("APPLICATION_NAME", applicationName);
return applicationName;
}发布于 2014-08-07 10:49:42
试试这个:
ActivityManager activityManager = (ActivityManager)
{context}.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
final PackageManager pm = getApplicationContext().getPackageManager();
for (RunningTaskInfo task : tasks) {
try {
ai = pm.getApplicationInfo(task.baseActivity.getPackageName(), 0);
} catch (final NameNotFoundException e) {
ai = null;
}
String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai): "(unknown)");
}https://stackoverflow.com/questions/25180210
复制相似问题