Android:打开外部应用,关闭它并返回原始

时间:2016-07-12 13:44:15

标签: android android-intent android-activity task-switching

我是Android开发的新手,目前正在创建一个用于远程控制的应用程序,以便在测试环境中使用。

我想要做的是打开一个应用程序,在这种情况下是netflix,等待x秒然后关闭外部应用程序并返回到我自己的应用程序。要使用网址打开netflix:

   Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.netflix.com/watch/80015343?preventIntent=false"));
    browserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(browserIntent);

然后返回打开设备上安装的媒体客户端应用程序。所以我可能只是关闭netflix,然后返回我自己的应用程序,所以我尝试按照以下方式运行打开的进程:

     for(ActivityManager.RunningAppProcessInfo runningProcess : runningProcesses){
                            System.out.println(runningProcess.processName);

                            if(runningProcess.processName.equals(NETFLIX_PACKAGE_NAME))
                            {
                                android.os.Process.sendSignal(runningProcess.pid, android.os.Process.SIGNAL_KILL);
                            }
                        }

不幸的是,这并没有获得netflix应用,但只显示我的应用。我后来发现那是因为android 6.x。

我对所有建议持开放态度 - 我如何关闭netflix媒体客户端,然后返回我自己的应用程序? 目前我只是这样做:

     Intent startMain = new Intent(Intent.ACTION_MAIN);
                        startMain.addCategory(Intent.CATEGORY_HOME);
                        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        context.startActivity(startMain);

这种方式可以将netflix放在后台,但当然我不会在我的应用程序中结束。而且我无法重启我的应用,因为它已在服务器上注册。我可以,但后来我需要取消注册并重新注册。必须有某种聪明的方式: - )

我真的希望你们能在这里帮助一个android-noob: - )

祝你好运, 本

0 个答案:

没有答案