2

私のアプリでは、スクリーン キャプチャを取得して SD カードに保存できます。たとえば、ギャラリー アプリのように、自分のアプリから Whatsapp に共有できるかどうか疑問に思っていました。

ギャラリーでは、Whatsapp、Facebook、または Twitter でファイルを「共有」することができます。

アプリから同じことを行うことはできますか? どのように?

ありがとうございました!

4

2 に答える 2

3

はい、できます。

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@SuppressWarnings( "deprecation" )
public static Intent shareImage(Context context, String pathToImage) {
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
        shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
    else
        shareIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);

    shareIntent.setType("image/*");

    // For a file in shared storage.  For data in private storage, use a ContentProvider.
    Uri uri = Uri.fromFile(context.getFileStreamPath(pathToImage));
    shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
    return shareIntent;
}

詳細なリンクは次のとおりです。http://android-developers.blogspot.com/2012/02/share-with-intents.html

「共有」ボタンを追加して実行するだけstartActivity(shareIntent)です。

于 2012-09-02T14:40:52.210 に答える
0

両方の答えを組み合わせて、私はそれを得ました!君たちありがとう!

private void shareIt() {
    //sharing implementation here

    Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
    sharingIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
    sharingIntent.setType("image/*");

    Uri uri = Uri.fromFile(file);
    sharingIntent.putExtra(Intent.EXTRA_STREAM, uri);

    startActivity(Intent.createChooser(sharingIntent, "Share via"));

    }
于 2012-09-02T14:58:06.630 に答える