Sharing text with an image for installation using Android intent

I know that this question has been asked several times before, I am trying to add a caption to the image shared on instagram using the intention of sending

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.putExtra(Intent.EXTRA_STREAM,uri);
shareIntent.putExtra(Intent.EXTRA_TEXT,"YOUR TEXT TO SHARE IN INSTAGRAM");
shareIntent.setPackage("com.instagram.android");
return shareIntent;

Has anyone managed to get it to work?

Is support not supported or support canceled?

+4
source share
4 answers

There was an official expression from Instagram (mid-2015) , which states that pre-filled signatures will no longer be accepted in iOS and Android apps:

, iOS Hooks Android Intents , . : , , Instagram, Instagram . , , , , Instagram.

Instagram Android, , , Intent.EXTRA_TEXT ​​ . Uri:

// Add the URI to the Intent.
share.putExtra(Intent.EXTRA_STREAM, uri);

// Broadcast the Intent.
startActivity(Intent.createChooser(share, "Share to"));

, , Facebook .

+5

Instagram,

+2

. , .

https://instagram.com/developer/mobile-sharing/android-intents/ Intent.EXTRA_STREAM, , .

:

    Intent instagramIntent = new Intent(Intent.ACTION_SEND);
    instagramIntent.setType("image/*");
    File media = new File(mediaPath);
    Uri uri = Uri.fromFile(media);
    instagramIntent.putExtra(Intent.EXTRA_STREAM, uri);
    instagramIntent.setPackage("com.instagram.android");

    PackageManager packManager = getPackageManager();
    List<ResolveInfo> resolvedInfoList = packManager.queryIntentActivities(instagramIntent,  PackageManager.MATCH_DEFAULT_ONLY);

    boolean resolved = false;
    for(ResolveInfo resolveInfo: resolvedInfoList){
        if(resolveInfo.activityInfo.packageName.startsWith("com.instagram.android")){
            instagramIntent.setClassName(
                    resolveInfo.activityInfo.packageName,
                    resolveInfo.activityInfo.name );
            resolved = true;
            break;
        }
    }
    if(resolved){
        startActivity(instagramIntent);
    }else{
        Toast.makeText(PromocionarMain.this, "Instagram App is not installed", Toast.LENGTH_LONG).show();
    } 
+1

Instagram stopped accepting pre-filled headlines to improve the quality of content on the system. See This Post.

http://developers.instagram.com/post/125972775561/removing-pre-filled-captions-from-mobile-sharing

0
source

Source: https://habr.com/ru/post/1607921/


All Articles