Sat*_* Y. 6 google-sheets android-studio
我的应用程序创建了一个可由 Google Sheets 和 MS-Excel 打开的 Excel 文件。但是,当我通过我的应用程序使用 ACTION_VIEW 打开它时,Google 表格无法查看 Excel 文件,但它在 MS-Excel 中运行良好。当通过 Google Sheets 查看该文件时,显示一条消息“Google Sheets 无法打开您的电子表格”。
我尝试清除 Excel 文件中的所有数据,只查看空文件,但 Google 表格仍然遇到此问题。
Uri data = FileProvider.getUriForFile(dbActivity.getApplicationContext(),"com.aaa.fileprovider", createdFile);
dbActivity.getApplicationContext().grantUriPermission(dbActivity.getPackageName(), data, FLAG_GRANT_READ_URI_PERMISSION);
dbActivity.getApplicationContext().grantUriPermission(dbActivity.getPackageName(), data, FLAG_GRANT_WRITE_URI_PERMISSION);
Intent openIntent = new Intent();
openIntent.setType(applicationType);
openIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_GRANT_READ_URI_PERMISSION);
openIntent.setAction(Intent.ACTION_VIEW);
openIntent.setData(data);
openIntent.putExtra(Intent.EXTRA_STREAM, data);
try {
dbActivity.startActivity(openIntent);
}
catch (Exception ex){
Toast toast = Toast.makeText(dbActivity, "No applications to open the file.", Toast.LENGTH_LONG);
toast.show();
}
Run Code Online (Sandbox Code Playgroud)
大多数人的手机上没有 MS-Excel,所以我希望我的应用程序能够查看通过 Google Sheets 创建的文件
Google Sheets 似乎要求您在 ACTION_VIEW 意图上设置数据和 MIME 类型。
替换这个:
openIntent.setData(data);
Run Code Online (Sandbox Code Playgroud)
有了这个:
openIntent.setDataAndType(data, mimeType)
Run Code Online (Sandbox Code Playgroud)
mimeType您要发送的文件的 MIME 类型在哪里- 例如“text/csv”。
| 归档时间: |
|
| 查看次数: |
285 次 |
| 最近记录: |