だから私はstackoverflowの投稿を見てきましたが、実際の画像データをクリップボードにコピーする方法については実際には言及していません。次のように uri をクリップボードにコピーできます。
ContentValues values = new ContentValues(2);
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpg");
values.put(MediaStore.Images.Media.DATA, android.os.Environment.getExternalStorageDirectory() + path);
ContentResolver theContent = getContentResolver();
Uri imageUri = theContent.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
ClipData theClip = ClipData.newUri(getContentResolver(),"Image", imageUri);
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setPrimaryClip(theClip);
これにより、後から uri を貼り付けることができます。これは、アクティビティを制御しない限り、ほとんどのコンテキストではほとんど意味がありません。
次のように、画像データをインテントに直接送信することもできます。
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
sendIntent.putExtra("thread_id", (long) 1);
sendIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
sendIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
sendIntent.setType("image/*");
startActivity(sendIntent);
これは便利ですが、ギャラリーに移動し、ドロップダウンで [クリップボードにコピー] を選択すると、画像をクリップボードに貼り付けることができることがはっきりとわかります。これにより、上記の画像をメッセンジャー、電子メール、チャットなどに貼り付けることができます。4.4.2 以降のほとんどの Android ブラウザーでも同じことが可能であるようです。URIだけでなく、実際にキーボードにコピーされた画像データを取得するためのポインターやポインタを誰かが指すことができる作業コードはありますか? それが可能であることはわかりますが、現時点ではアイデアが不足しています。
以下は、私が使用している uri の有効な例です: "content://media/external/images/media/63"