如果您遇到“拒绝权限:正在启动意图...”错误,或者如果应用在启动应用期间因任何原因崩溃,请在清单中使用此单行代码
android:exported="true"
请注意finish(); ,如果您错过了它,该应用程序将被冻结。如果提到该应用程序将是一个平稳的启动器。
finish();
另一个解决方案仅适用于同一应用程序中的两个活动。就我而言,应用程序B不知道com.example.MyExampleActivity.class
代码中的类,因此编译将失败。
我在网上搜索后发现以下内容,效果很好。
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.example", "com.example.MyExampleActivity"));
startActivity(intent);
您也可以使用setClassName方法:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.hotfoot.rapid.adani.wheeler.android", "com.hotfoot.rapid.adani.wheeler.android.view.activities.MainActivity");
startActivity(intent);
finish();
您还可以将值从一个应用程序传递到另一个应用程序:
Intent launchIntent = getApplicationContext().getPackageManager().getLaunchIntentForPackage("com.hotfoot.rapid.adani.wheeler.android.LoginActivity");
if (launchIntent != null) {
launchIntent.putExtra("AppID", "MY-CHILD-APP1");
launchIntent.putExtra("UserID", "MY-APP");
launchIntent.putExtra("Password", "MY-PASSWORD");
startActivity(launchIntent);
finish();
} else {
Toast.makeText(getApplicationContext(), " launch Intent not available", Toast.LENGTH_SHORT).show();
}