Android Quick shortcuts [passing intent extra(or some data) in shortcuts.xml ]

2.2k Views Asked by At

While implementing the static Shortcuts using shortcut.xml, i would like to pass few bundle extras with my intent.

need the passed extras to decide on few functionality in the target class after launching the app.

is it possible to access the extras? how and where to access it?

Any leads would be highly appreciated

2

There are 2 best solutions below

0
On

I'm not sure if there is another way, but I use this:

<intent
        android:action="android.intent.action.VIEW"
        android:targetPackage="target.package"
        android:targetClass="activity.with.package">
        <extra android:name="extraID" android:value="extravalue" />
</intent>

Then you can access extras as usual.

1
On

Than why don't you create dynamic shortcuts?

ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);

Intent thirdIntent = new Intent(this,ThirdActivity.class);
thirdIntent.setAction(Intent.ACTION_VIEW);

ShortcutInfo thirdScreenShortcut = new ShortcutInfo.Builder(this, "shortcut_third")
        .setShortLabel("Third Activity")
        .setLongLabel("This is long description for Third Activity")
        .setIcon(Icon.createWithResource(this, R.mipmap.ic_launcher))
        .setIntent(thirdIntent)
        .build();
shortcutManager.setDynamicShortcuts(Collections.singletonList(thirdScreenShortcut));

You can pass whatever you want to send in Intent and access it to receiver activity.