好的,我想从应用程序而不是我的应用程序打开特定的 Activity
。假设我想打开此包 com.test.app
和该包内的 TestActivity
。我该怎么做?
我试过这样的:
Intent i = new Intent();
i.setClassName(pack, activity);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(i);
Intent i = new Intent(pack+activity);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(i);
Intent i = new Intent();
i.setClassName(pack, "."+activity);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(i);
Intent i = new Intent(pack+"."+activity);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(i);
所有这些我都遇到了这个错误:
Unable to find explicit activity class {PACKAGE/ACTIVITY}; have your declared this activity in your AndroidManifest.xml?
注意:我确实安装了应用程序包 com.test.app
和 Activity TestActivity
。那么这怎么可能呢?
最佳答案
首先,您必须确保目标 Activity 已导出。它必须使用 android:export="true"显式导出,或者使用 intent-filter 隐式导出。您不能将 Intent 发送到任何应用程序的任何随机 Activity。
关于android - 如何开启特定的第三方 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18285893/