1

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

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

   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 :-)

最好的问候,本

4

0 回答 0