web-dev-qa-db-ja.com

Androidで画像/ファイルをクリップボードにコピーする方法は?これを取得するための代替方法/手順

画像/ファイルをクリップボードにコピーしたい。私はそれをグーグルで調べましたが、これに対する代替/提案は見つかりませんでした。しかし、私はいくつかのアプリがアプリストアで行われるのを見てきました。どうすればこれを達成できるのか知りたいです。

誰か助けてくださいOR私にいくつかの提案をしますか?

私はこれを見つけました link が、この機能を実現する方法の手掛かりになりました。

7

Androidで画像/ファイルをコピーして貼り付ける方法の詳細については、Androidからの公式ドキュメント こちら をご覧ください。

つまり、画像/ファイルのコピー/貼り付けは以下の手順に従います。

  1. データソース(データのコピー元のアプリケーション)は、ContentProviderを作成し、画像/ファイルを取得するために使用できるUriを生成する必要があります。 Uriはcontent:// [アプリケーションパッケージ名]/path/to/fileのようになります。
  2. data destination(データのコピー先のアプリケーション)は、ClipboardManagerとユーザーContentResolverからUriを取得して、画像/ファイルを取得します。

ご覧のとおり、コピー/貼り付けは、2つのアプリケーションが連携して機能する場合にのみ実行できます。残念ながら、Androidアプリケーションのほとんどはこのルールに従っていません。

たとえば、 Google docs Android appの場合、Google docsで画像をコピーすると、無効なUriが生成されます。google自体でも想像できません。 Android公式のコピー/貼り付けルールに従っていない。

Microsoft Wordevernote を含む多くのメインストリームエディターアプリケーションをテストしましたが、コピーイメージもサポートしていません。

私のテストを通じて、一部のSamsungでは画像/ファイルのコピー/貼り付けが機能することがわかりましたAndroid携帯電話(在庫のあるブラウザーからSamsung Galaxy Note3のメッセージアプリケーションに画像をコピーできます)。ただし、Samsung Androidコピー/貼り付けフレームワークに準拠していません。独自のメカニズムを使用してコピー/貼り付けを実装しているため、サードパーティのアプリケーションはクリップデータにアクセスできません。

したがって、AndroidアプリケーションがAndroid公式のコピー/貼り付けフレームワークに準拠するためには、まだ長い道のりがあります。

あなたの要件について話すために、私はあなたがコピーデータソースとして振る舞いたいと思います。独自のアプリケーションはcopyをサポートしていますが、コピーデータの宛先アプリケーションがコピー/貼り付けフレームワークに従っていない限り、pasteアクション。

7
cmoaciopm

ファイルや画像をクリップボードにコピーできないと思います。あなたはこのようなことをすることができます:

  1. (ES Explorer)のようなファイルブラウザアプリを作成します。コンテンツプロバイダー(不確か)を使用してファイルブラウザーアプリを作成し、フォルダー/ファイルをリストビューで表示できます。

  2. アプリで、ListViewのアイテムがファイル/画像を示しているとします。長押しすると、ポップアップが開きます。切り取り/コピー/移動/削除などのいくつかのオプションがあります。各ファイル/画像の絶対パスがあるので。 Javaファイル処理を使用して、次のことができます。

a)ファイルを削除します。

b)ある場所から別の場所に移動する

c)ファイルのコピーを作成する

等..

2
Ashish Rathee

AndroidClipData.ItemはテキストとURIのみをサポートします。したがって、クリップボードを介して画像データをコピーすることはできません。

考えられる1つの解決策は、画像データをある種のストレージに保存し、そのコンテンツURIをコピーすることです。ただし、コピーされたデータは、ClipboardManagerからデータを取得できるすべてのエディターで使用できるため、これにより作業が楽になるわけではありません。このタイプのデータを処理します。

アプリにコピー/貼り付けしたい場合は、独自のバージョンのClipboardManagerを記述して、好きなことを行うことをお勧めします:)

2
Akhil