Android Intent在电子表格中打开CSV

时间:2017-05-29 11:58:46

标签: java android android-intent

我正在尝试将CS​​V文件打开到Google工作表中,但我不能。

这一切正常,我可以将我的CSV保存到Google云端硬盘然后从云端硬盘中打开,但我想直接将其打开到Google表格中。

这可能吗?

Intent shareIntent = new Intent();

        Uri contentUri = FileProvider.getUriForFile(activity.getApplication(),
                activity.getApplication().getPackageName(), file);
        activity.getApplication().grantUriPermission(activity.getApplication().getPackageName(),
                contentUri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        shareIntent.setData(contentUri);
        shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        shareIntent.setAction(Intent.ACTION_SEND);
        shareIntent.putExtra(Intent.EXTRA_STREAM, contentUri);
        shareIntent.setType("text/csv");

        activity.startActivity(Intent.createChooser(shareIntent, "Abrir CSV"));

I got only this options in intent chooser. I want Sheets here.

提供者:

<provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="${applicationId}"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths" />

xml / file_paths:

<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-cache-path name="external_files" path="."/>
</paths>

先感谢大家!

1 个答案:

答案 0 :(得分:1)

将mime类型设置为localhost,并且应显示工作表。

另请注意,在text/*之后调用setType实际上会将数据设置为setData