I have application A defined as below:
<application android:icon=\"@drawable/icon\" android:label=\"@string/app_name\">
<activity android:name=\"com.example.MyExampleActivity\"
android:label=\"@string/app_name\">
<intent-filter>
<action android:name=\"android.intent.action.MAIN\" />
<category android:name=\"android.intent.category.LAUNCHER\" />
</intent-filter>
</activity>
</application>
Now in application B, how can I write the code to start the activity in application A? Thanks!
If you guys are facing \"Permission Denial: starting Intent...\" error or if the app is getting crash without any reason during launching the app - Then use this single line code in Manifest
android:exported=\"true\"
Please be careful with finish(); , if you missed out it the app getting frozen. if its mentioned the app would be a smooth launcher.
finish();
The other solution only works for two activities that are in the same application. In my case, application B doesn\'t know class com.example.MyExampleActivity.class
in the code, so compile will fail.
I searched on the web and found something like this below, and it works well.
Intent intent = new Intent();
intent.setComponent(new ComponentName(\"com.example\", \"com.example.MyExampleActivity\"));
startActivity(intent);
You can also use the setClassName method:
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();
You can also pass the values from one app to another app :
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();
}
If both application have the same signature (meaning that both APPS are yours and signed with the same key), you can call your other app activity as follows:
Intent LaunchIntent = getActivity().getPackageManager().getLaunchIntentForPackage(CALC_PACKAGE_NAME);
startActivity(LaunchIntent);
Hope it helps.