I have two apps (A, B) that I want to link them together. When the user is in app A, by clicking on a button I want to open app B and send some data to it.
I used this method in app A to go app B and send some data to app B:
public static boolean openApp(Context mContext, String packageName) {
PackageManager manager = context.getPackageManager();
Intent goToEncyclopedia = manager.getLaunchIntentForPackage(packageName);
if (goToEncyclopedia == null) {
return false;
}
goToEncyclopedia.addCategory(Intent.CATEGORY_LAUNCHER);
goToEncyclopedia.putExtra("NAME" , "Ehsan");
context.startActivity(goToEncyclopedia);
return true;
}
and I Call it like this in app A:
openApp(mContext, "encyclopedia.rasad.app.codenevisha.com.encyclopedia");
When I call this method it will open app B but data that I want to send with putExtra will not send.
And this is my code in App B to receive data from intent:
Bundle bundle = getIntent().getExtras();
if (bundle != null){
String name = bundle.getString("NAME");
Log.i("EXTRAS", name);
}
The easiest way to do this would be to pass the session id to the signout activity in the Intent you're using to start the activity: Intent intent = new Intent(getBaseContext(), SignoutActivity. class); intent. putExtra("EXTRA_SESSION_ID", sessionId); startActivity(intent);
Add intent filter in app B:
<activity android:name=".MainActivity" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.yourpackage.action" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Pass data from app A:
Intent intent = new Intent("com.yourpackage.action");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("data","data string");
startActivity(intent);
Retrieve data from app B:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getIntent().getStringExtra("data");
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With