首页 新闻 会员 周边 捐助

安卓10打开word出错求助(附源码)

0
悬赏园豆:10 [已解决问题] 解决于 2024-09-27 11:31

以下为源码,在平板电脑上安卓10系统运行打开word出错,错误如下图:
https://files.cnblogs.com/files/blogs/782609/Myopenword.zip?t=1727162426&download=true


问题补充:

@qricis,@www378660084

tea2007的主页 tea2007 | 初学一级 | 园豆:7
提问于:2024-09-24 15:30

@qricis,@www378660084

tea2007 2个月前
< >
分享
最佳答案
0

要提供 Provider首先你得自己能打开读取文件. 你先自己读取文件试试看能不能成功. 另外file_paths.xml里的path好像也不对. 把这个也加上试试

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            if (!Environment.isExternalStorageManager()) {
                Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
                intent.setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID));
                startActivity(intent);
            }
        }
收获园豆:10
www378660084 | 小虾三级 |园豆:1186 | 2024-09-24 19:27


代码改了,但点了按钮没反应

tea2007 | 园豆:7 (初学一级) | 2024-09-25 14:16

@tea2007: 那个path应该填 "检测报告", 把这一段直接放onCreate吧

if (!Environment.isExternalStorageManager()) {
                Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
                intent.setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID));
                startActivity(intent);
}
www378660084 | 园豆:1186 (小虾三级) | 2024-09-25 16:17

@www378660084:


二图红线错误,放onclick内 也一样红线错误

tea2007 | 园豆:7 (初学一级) | 2024-09-25 16:30

@tea2007: 那就跟这个无关,android 10应该没这个api.还是加上判断吧.你最好自己打开文件读下看看能不能成功.自己有权限了,才能提供给其他程序读写.

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            if (!Environment.isExternalStorageManager()) {
                Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
                intent.setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID));
                startActivity(intent);
            }
}
www378660084 | 园豆:1186 (小虾三级) | 2024-09-25 16:58

@www378660084:


点了没反应,路径应该没错,我用原来的代码openWordFile(path);点击后,它有时会弹出word所在目录,但手动打开word文档,全变乱码了。

tea2007 | 园豆:7 (初学一级) | 2024-09-25 17:17

@tea2007: 打开还是用这个openWordFile(path); 那段代码只是权限相关的.
我的意思是让你在代码里读这个文件,看看报不报错误.

public void readFile(String path) {
        String line = null;
        try {
            InputStreamReader fileReader = new InputStreamReader(new FileInputStream(path), "utf-8");
            BufferedReader fp = new BufferedReader(fileReader);

            line = fp.readLine();
            Log.e(TAG, line);
        } catch (IOException e) {
            e.printStackTrace();
        }
 }
www378660084 | 园豆:1186 (小虾三级) | 2024-09-25 17:27

@www378660084: 执行下面这些都没报错

,只是安卓10会弹出无法打开对话框

tea2007 | 园豆:7 (初学一级) | 2024-09-26 09:57

@tea2007: 你看看logcat,android的错误都在logcat里.

www378660084 | 园豆:1186 (小虾三级) | 2024-09-26 10:11

@www378660084: 不大会看,请问有错误吗?

tea2007 | 园豆:7 (初学一级) | 2024-09-26 10:38

@tea2007: 没有权限,先把异常解决了吧. 参考这个看看 https://blog.csdn.net/m0_45939328/article/details/123563889

www378660084 | 园豆:1186 (小虾三级) | 2024-09-26 13:43

@www378660084: 谢谢朋友,问题找到了,与代码无关。是安卓10系统装的wps office版本有问题,换了一个版本就可以用代码打开word了。

tea2007 | 园豆:7 (初学一级) | 2024-09-27 11:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册