5

私が基本的に探しているのは、別のアプリから Instagram アプリを開き、キャプション付きの画像を送信することです。iOS でこれを行うための便利なドキュメントがいくつかあります。( iPhoneフック)

Instagram は、iPhone-hooksで説明されているように、iOS のように Android でカスタム アクションを実行することをサポートしていますか?

以下は、このタスクを部分的に実行するためにアプリケーションで使用されている現在のコードです。

private void sendImageToIntagram(Activity activity) {
    Intent intent = activity.getPackageManager().getLaunchIntentForPackage("com.instagram.android");
    if (intent != null) {
        Intent shareIntent = new Intent();
        shareIntent.setAction(Intent.ACTION_SEND);
        shareIntent.setPackage("com.instagram.android");
        String imagePath = ImageUtil.getProcessedImage().getAbsolutePath();
        try {
            shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(MediaStore.Images.Media.insertImage(activity.getContentResolver(), imagePath, "Title", "Description")));
            // shareIntent.putExtra(Intent.EXTRA_TITLE,  "Caption 01");
            // shareIntent.putExtra(Intent.EXTRA_TEXT,   "Caption 02");
            // shareIntent.putExtra(Intent.EXTRA_SUBJECT,"Caption 03");

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        shareIntent.setType("image/jpeg");
        activity.startActivity(shareIntent);
    } else {
        // bring user to the market to download the app.

        intent = new Intent(Intent.ACTION_VIEW);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setData(Uri.parse("market://details?id=" + "com.instagram.android"));
        activity.startActivity(intent);
    }
}

上記のタイトル、説明、キャプション 01、キャプション 02、キャプション 03 のいずれも機能しませんでした。

それから私は、

shareIntent.setAction(Intent.ACTION_SEND);-->shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);

と、

shareIntent.setType("image/jpeg");
shareIntent.setType("image/*");
shareIntent.setType("*/*"); 

も、上記のどれも機能しませんでした。

4

2 に答える 2

5

この質問、特にChriskotによるこの回答を見ると、2014年7月以降、Instagramでこれが可能になったようです.

簡単に言えば

Intent instagram = new Intent(android.content.Intent.ACTION_SEND);  
instagram.setType("image/*");
instagram.putExtra(Intent.EXTRA_STREAM, [URI of photo]);
instagram.putExtra(Intent.EXTRA_TEXT, [Text of caption]);
instagram.setPackage(instagramPackageName);   
startActivity(instagram);
于 2014-08-21T10:30:14.490 に答える
4

短い答え、いいえ。

Instagram には、iPhone フックに相当する Android はありません。

彼らはサポートしてACTION_SENDいますが、彼らの側でのみ考慮していますIntent.EXTRA_STREAM

過去 4 か月以内に何かが変更されていない限り (私は疑います)、この男がAndroidManifest.xmlからコードのスタブを取得したことは、彼らが気にかけているインテント キャッチャーアクティビティを調べることで推測できますandroid.intent.extra.STREAM

そのため、今のところ、実際の画像以外のデータを送信することはできません。

于 2013-10-10T09:33:54.093 に答える