4

私は次のコードを持っています:

        File imageFile = new File(f.getAbsolutePath());
        ContentValues values = new ContentValues(2);

        values.put(MediaStore.Images.Media.MIME_TYPE, "image/png");
        values.put(MediaStore.Images.Media.DATA,imageFile.getAbsolutePath());

        ContentResolver theContent = getContentResolver();
        Uri  imageUri = theContent.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
        ClipData theClip = ClipData.newUri(getContentResolver(),"image", imageUri);

        android.content.ClipboardManager clipboard = (android.content.ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
        clipboard.setPrimaryClip(theClip);

パス自体ではclipboardなくパスのみが表示されます。スクリーンショットを撮るとクリップボードに画像が表示されるため、パスを表示できるはずだと思います。ビットマップをクリップボードに渡す方法を知っている場合は、ビットマップのみである可能性があります。誰かが解決策を提案できれば、私はとても感謝しています。imageimage

4

1 に答える 1

0

Android クリップボードは、Mac OS の PasteBoard や Windows のクリップボードなどの対応するクリップボードとは少し異なります。Mac と Windows のアプローチでは、イメージ/バイナリ、RTF、ファイル参照などのコンテンツを物理的に保存するため、システム内でデータを共有できます。Android クリップボードはテキストのみを保存できます (Jelly Bean 以来、HTML を処理できます)。その他のタイプは、実際のデータを指すコンテンツ プロバイダー URI によって表されます。(ContentResolver を介して) そのコンテンツを取得し、それに応じて着信データを処理するのは、URI を受信するアプリの仕事です。

于 2014-12-13T12:38:40.387 に答える