2017-03-07 2 views
2

私はイメージキーボードを使っています。Android - コミットコンテンツの確認 - キーボードサポート

Image Keyboard Supportと関連するクラスのドキュメントをご覧ください。私は正常にMIMEタイプ(この場合はimage/gif)を確認することができますが、その入力がリッチコンテンツを受け入れることができるとは思いません。私はこれを必要とするので、代わりにイメージを共有するためのフォールバックを実行できます。

「私は入力のその指標は、リッチコンテンツを受け入れることができることはないと思うが、」私の最後のユースケースで発生します。

  • デフォルトのメッセージングアプリ:画像/ gifのサポートが検出されない、画像 キーボード機能が無効になっています。
  • Googleハングアウト:画像/ gifのサポートが検出されました。 と選択したgif画像が正常に投稿されます。
  • スラック:image/gifサポートが検出されました。 InputConnectionCompat.commitContent()はtrueを返しますが、 という画像は投稿されていません。

ターゲットアプリケーションでリッチコンテンツが受け入れられていることを確認するにはどうすればよいですか?

答えて

0
Hi You can verify by the following method 

private boolean isCommitContentSupported(@NonNull String mimeType) { 
     if (getCurrentInputEditorInfo() == null) { 
      return false; 
     } 

     final InputConnection ic = getCurrentInputConnection(); 
     if (ic == null) { 
      return false; 
     } 

     if (!validatePackageName(getCurrentInputEditorInfo())) { 
      return false; 
     } 

     final String[] supportedMimeTypes = EditorInfoCompat.getContentMimeTypes(getCurrentInputEditorInfo()); 
     for (String supportedMimeType : supportedMimeTypes) { 
      if (ClipDescription.compareMimeTypes(mimeType, supportedMimeType)) { 
       return true; 
      } 
     } 
     return false; 
    } 
関連する問題