我写了 2 个应用程序,A_app 和 B_app。
在 A_app 中,我想调用 B_app 并启动 B_app 的 CalledActivity。
但是 B_app 的 MAINActivity 是 MainActiity 而不是 CalledActivity。
在 A_app 中,我尝试使用以下代码调用 B_app:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.example.bapp","com.example.bapp.BActivity"));
intent.putExtra ("test2abc", "abctest2");
startActivity(intent);
而在 B_app 的 BActivity 中,onCreate 中的代码如下:
Bundle params = getIntent().getExtras();
if (params != null) {
String temp = params.getString ("test2abc");
Toast.makeText (BActivity.this, temp, Toast.LENGTH_LONG).show();
}
但是有一些错误如下:
01-10 10:47:16.904: E/AndroidRuntime(8355): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cmp=com.example.bapp/.BActivity (has extras) } from ProcessRecord{418a3788 8355:com.dlink.nas/u0a7} (pid=8355, uid=10007) not exported from uid 10115
我希望 B_app 仅由 A_app 直接调用,而无需其他调用。
我该如何解决?