Skip to content

Instantly share code, notes, and snippets.

@es0329
Created November 17, 2016 18:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save es0329/b41089ed3994b903b2711b7c8b43588a to your computer and use it in GitHub Desktop.
Save es0329/b41089ed3994b903b2711b7c8b43588a to your computer and use it in GitHub Desktop.
Share .mp4 video to Instagram via Android Intent
-> adb shell pm list packages -f
...
package:/data/app/com.instagram.android-2.apk=com.instagram.android
...
-> adb shell pm dump com.instagram.android | grep -A 1 MAIN
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x14008000 cmp=com.instagram.android/.activity.MainTabActivity}
realActivity=com.instagram.android/.activity.MainTabActivity
--
android.intent.action.MAIN:
65143b78 com.instagram.android/.activity.MainTabActivity filter 64ff3d90
--
Action: "android.intent.action.MAIN"
Category: "android.intent.category.LAUNCHER"
-> adb shell pm list packages -f
...
package:/data/app/com.instagram.android-1/base.apk=com.instagram.android
...
-> adb shell pm dump com.instagram.android | grep -A 1 MAIN
android.intent.action.MAIN:
3d2eec5 com.instagram.android/.activity.MainTabActivity filter 770faff
--
Action: "android.intent.action.MAIN"
Category: "android.intent.category.LAUNCHER"
--
privateFlags=[ HAS_DOMAIN_URLS ]
dataDir=/data/user/0/com.instagram.android
public void startInstagram(String mediaPath) {
final String INSTAGRAM_PACKAGE_NAME = "com.instagram.android";
try {
File media = new File(mediaPath);
Uri uri = Uri.fromFile(media);
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("video/*");
share.putExtra(Intent.EXTRA_STREAM, uri);
share.setPackage(INSTAGRAM_PACKAGE_NAME);
startActivity(share);
// startActivity(Intent.createChooser(share, R.string.chooserTitle));
} catch (Exception e) { // Instagram package not present on device
Toast.makeText(getActivity(), R.string.instagramRequirement, Toast.LENGTH_SHORT)
.show();
try { // Prompt to install Instagram via Google Play
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("market://details?id=" + INSTAGRAM_PACKAGE_NAME)));
} catch (ActivityNotFoundException anfe) { // Prompt to install Instagram via browser
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("https://play.google.com/store/apps/details?id="
+ INSTAGRAM_PACKAGE_NAME)));
}
}
}
@es0329
Copy link
Author

es0329 commented Nov 17, 2016

Output from L15 Exception

E/ShareDialog: e.getLocalizedMessage >> file:///storage/emulated/0/870_90.mp4 exposed beyond app through ClipData.Item.getUri()
E/ShareDialog: e.getCause >> null

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment