android如何获取当前运行应用程序名称

我如何才能获取当前真正运行的app程序名?
环境:sdk版本23,android studio3.1 oppoA59s
2.Service代码

//获取现在启动的Activity
final ActivityManager am = (ActivityManager) getApplicationContext().getSystemService(Activity.ACTIVITY_SERVICE);

new Thread(){
    public void run() {
        while(true){
            try {
                List< ActivityManager.RunningTaskInfo > runningTaskInfo = am.getRunningTasks(1);                            
                ComponentName componentInfo = runningTaskInfo.get(0).topActivity;                           
                Log.i(TAG, componentInfo.getPackageName());
                sleep(200);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    };
}.start();

manifest.xml代码

<uses-permission android:name="android.permission.GET_TASKS" ></uses-permission>

但是我打开其他app后获取的当前app名好像被android系统隐藏了。都是显示的com.oppo.launcher。

clipboard.png

阅读 3.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题