Android - 检查commitContent图像 - 键盘支持

时间:2017-03-07 16:20:17

标签: android image keyboard

我正在使用图像键盘。

一直在讨论这个问题,查看Image Keyboard Support和相关课程的文档。我已经成功地检查了mime类型(在这种情况下是image / gif),但我不认为它表明输入能够接受丰富的内容。我需要这个,所以我可以运行一个后备来共享图像。

“我不认为它表明输入能够接受丰富的内容”发生在我的上一个用例中:

  • 默认消息应用:未检测到image / gif支持,图片 键盘功能已禁用。
  • Google环聊:检测到image / gif支持, 我选择的gif图像成功发布。
  • Slack:检测到image / gif支持, InputConnectionCompat.commitContent()返回true,但没有图像 帐。

如何验证目标应用中是否接受了丰富的内容?

1 个答案:

答案 0 :(得分: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;
    }