我想开始一个未包含在原始.apk中的活动。 我怎么能这样做?另一个Activity包含在另一个.apk中,它是当前应用程序的先前版本。 谢谢, 的Eyal。
答案 0 :(得分:6)
我建议您先阅读Application Fundamentals - 就我而言,您必须使用Intents:
如前所述,一个活动可以启动另一个活动,包括在不同应用程序中定义的活动。例如,假设您想让用户显示某个位置的街道地图。已经有一个活动可以做到这一点,因此您需要做的所有活动都是将Intent对象与所需信息组合在一起并将其传递给startActivity()。地图查看器将显示地图。当用户点击BACK键时,您的活动将重新出现在屏幕上。
所以,基本上,你定义了一个新的意图(你还应该看一下docs of the Intent class):
Intent myIntent = new Intent();
myIntent.setClassName("com.the.other.app", "com.the.other.app.activityName");
startActivity(myIntent);
答案 1 :(得分:5)
如果您只知道包名称,则此方法很好:
PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.the.other.app");
startActivity(intent);