有人可以解释一下为什么当我使用这段代码时,我没有得到完整的包名?
例如,不要这样做:com.android.phone.EmergencyDialer.DIAL
我只获得com.android.phone
。
如何修复此问题并获取完整的软件包名称?
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<ActivityManager.RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (int i = 0; i < recentTasks.size(); i++)
{
Log.d("Executed app", "Application executed : " +recentTasks.get(i).baseActivity.getPackageName()+ "\t\t ID: "+recentTasks.get(i).id+"");
}
谢谢。
答案 0 :(得分:0)
从ActivityManager中获取com.android.phone.EmergencyDialer.DIAL
是不可能的,因为com.android.phone
是实际的包名,com.android.phone.EmergencyDialer.DIAL
是针对EmergencyDialer类的intent操作的字段。 / p>
你需要提供一个更好的例子来说明你在这里要完成的事情,但是再次,从ActivityManager类中获取DIAL变量是不可能的,因为com.android.phone.EmergencyDialer.DIAL
不是,并且将会永远不是一个有效的运行任务。