Android: откройте внешнее приложение, закройте его и вернитесь к исходному
Я новичок в разработке для 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, помещая его в фоновый режим, но, конечно, я не заканчиваю в своем приложении. И я не могу перезапустить свое приложение, так как оно зарегистрировано на сервере. Я мог бы, но тогда я должен был бы отменить регистрацию и зарегистрироваться снова. Должен быть какой-то умный способ:-)
Я очень надеюсь, что вы, ребята, можете помочь андроид-нубу здесь:-)
С наилучшими пожеланиями, Бен