2

だから私は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"

4

0 に答える 0