使用KitKat打开文档对话框(存储访问框架)时,用于Google Drive的MIME类型



我正在使用Android的新文件选择器,让用户打开我的文件。我正在尝试选择一个私钥文件(*.key,pem格式化):

    Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    i.addCategory(Intent.CATEGORY_OPENABLE);
    [...]
    construct supportedMimeTypesArray as array with
    "application/x-pem-file"
    "application/pkcs8"
    [...]
    i.putExtra(Intent.EXTRA_MIME_TYPES, supportedMimeTypesArray);

从内部存储中选择文件时,这起作用。但是,当我尝试从Google打开文件时,Google Drive空白了文件。

使用浏览器上传文件。

有什么方法可以显示什么MIME类型的Google Drive认为这些文件是?

要走的方法是用" /"的MIME类型请求文件,然后向您展示返回的URI的元字段。事实证明," .key"文件具有"应用程序/x-iwork-keynote-sffkey"

的mime类型

在此处给出了快速&肮脏的方法:

    @Override
    public void onActivityResult(int requestCode, int resultCode,
                                 Intent resultData) {
        if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
            Uri uri = null;
            if (resultData != null) {
                uri = resultData.getData();
                Log.i(TAG, "Uri: " + uri.toString());
                Cursor c = getActivity().getContentResolver().query(uri, null, null, null, null);
                try {
                    String r = "";
                    c.moveToFirst();
                    do {
                        for (int i = 0; i < c.getColumnCount(); i++) {
                            r += c.getColumnName(i) + "      " + c.getString(i) + "n";
                        }
                        r += "n";
                    } while (c.moveToNext());
                    mResultView.setText(r);
                } finally {
                    c.close();
                }
            }
        }
    }

相关内容

最新更新