我想知道是否有其他方法可以切换到其他应用程序?内置任务切换器不会导致Pokemon Go重启。有没有办法调用它?
我一直用它从我的应用程序切换并打开Pokemon Go
PackageManager manager = context.getPackageManager();
Intent intent = manager.getLaunchIntentForPackage("com.nianticlabs.pokemongo");
intent.addCategory(Intent.CATEGORY_LAUNCHER);
几个月前,这启动了Pokemon Go打开黑屏。解决这个问题的方法是关闭Pokemon go,并通过我的应用程序切换到它来启动Pokemon Go。第一次将按照预期开始使用Pokemon Go的加载屏幕,但之后会在应用之间正确切换。
Pokemon Go的最新版本似乎已经修复了黑屏问题,每次切换时都会重新启动Pokemon Go。我在他们的AndroidManifest.xml中找到了这个其他的intent过滤器并且它可以工作,但它也会导致应用程序重新启动。
Uri uri = Uri.parse("http://pokemongolive.com/launchapp");
Intent pokemonGoIntent = new Intent(Intent.ACTION_VIEW, uri);
if (pokemonGoIntent.resolveActivity(getPackageManager()) != null)
startActivity(pokemonGoIntent);
是另一种切换到另一个应用程序的方法吗?即使我的应用程序已加载并运行,内置任务切换器也不会导致Pokemon Go重新启动。
答案 0 :(得分:0)
Intent poGoIntent = activity.getPackageManager().getLaunchIntentForPackage("com.nianticlabs.pokemongo");
poGoIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
activity.startActivity(poGoIntent);
让我知道它是否有帮助!
答案 1 :(得分:0)
看了一些日志文件后,我看到了一些可疑消息。我找到了相应的API调用,这似乎对我有用。
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(new ComponentName("com.nianticlabs.pokemongo", "com.nianticproject.holoholo.libholoholo.unity.UnityMainActivity"));
intent.setFlags(Intent.FLAG_RECEIVER_FOREGROUND | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
startActivity(intent);