如果你们面临“Permission Denial:starting Intent ...”错误,或者如果应用程序在启动应用程序期间无故崩溃 - 然后在 Manifest 中使用此单行代码
android:exported="true"
请小心完成();,如果你错过了它,应用就会被冻结。如果它提到该应用程序将是一个流畅的启动器。
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();
}