如何切换到其他正在运行的应用程序

Vie*_*Anh 2 android switch-statement android-intent

我想写一个应用程序切换到其他正在运行的应用程序,如"Windows任务管理器"上的"切换到".

我已经有它的包名,进程名,pid,标签.但我不知道如何切换到它.请帮助我!感谢你!

P/S:我正在考虑使用Intent,但是Intent.setClassName(String pkname,String cls name)需要类名,我不知道如何获取它.

rog*_*r l 5

这很简单.

    ActivityManager am = (ActivityManager) inst.getSystemService(Context.ACTIVITY_SERVICE);
    for(RunningTaskInfo t: am.getRunningTasks(10)){
        String packageName = t.topActivity.getPackageName();
        String className = t.topActivity.getClassName();
    }
    //Which one do you want?
    //Could also just do
    String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();
    String className = am.getRunningTasks(1).get(0).topActivity.getClassName();

    //then
    startActivity(new Intent().setClassName(packageName, className).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    //Keep in mind you will need to declare the following permission in your AndroidManifest.xml
    android.Manifest.permission.GET_TASKS 
Run Code Online (Sandbox Code Playgroud)