希望这将是一个简单的。我需要在Android中实现经典的“来自其他应用程序的应用程序”,其中有大量关于Internet和SO的建议。
我试过了:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(new ComponentName("a.b.c","a.b.c.classname"));
getContext().startActivity(intent);
和
Intent intent = getContext().getPackageManager()
.getLaunchIntentForPackage(app);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
它们都可以从我的应用程序中正常生成新活动,尤其是在应用程序未运行的情况下。
当应用程序已经运行时,我遇到问题因为我看到上面的方法调用onCreate()/ onRestart()方法而不是onResume()/ onRestart(),就像在应用程序的“手动”选择中一样(即触摸桌面图标,工作正常。
再次调用onCreate()的问题是我在这里设置了一个TCP服务器,显然无法在同一个端口上重新创建。
我原则上可以检查应用程序是否正在运行并将onCreate()劫持到onResume()方法,但这有点糟糕。
任何想法都是“正确”吗?
欢呼声
答案 0 :(得分:0)
我认为你可以在启动另一个应用程序时传递参数 您可以将此视为参考pass parameter when start other application 调用OnCreate函数时,它会检查参数并在需要时启动TCP服务器。