火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 250|回复: 4
打印 上一主题 下一主题

[安卓] 求教分享问题

[复制链接]

23

主题

97

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
跳转到指定楼层
楼主
发表于 2024-4-28 15:54:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 极速网络科技 于 2024-4-28 15:59 编辑
  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 文件名类变量 = 取外部公开数据子目录 ("/")
  3. 外部文件目录 = 文件名类变量.取文件名 () + "/" + 安卓配置信息.下载目录
  4. 如果 (取安卓系统版本号 () >= 29)
  5. {
  6.     外部文件目录 = 安卓配置信息.下载目录
  7. }
  8. 否则
  9. {
  10.     如果 (目录是否存在 (外部文件目录 + "/SheBeiJiLu") == 假)
  11.     {
  12.         创建子目录 (外部文件目录 + "/SheBeiJiLu/")

  13.     }

  14. }

  15. 外部文件目录 = 外部文件目录 + "/SheBeiJiLu"
复制代码
//*********************以上是定义目录的地方**********************//*********************以下是写文件的地方**********************

  1. <火山程序 类型 = "通常" 版本 = 1 />
  2. 临时CSV文件="我的文本文件"
  3. 如果 (取安卓系统版本号 () >= 29)
  4. {
  5.     如果 (写出共享文本文件 (外部文件目录, 文件名_局, 临时CSV文本, 文本编码.GBK, 假) == 假)
  6.     {
  7.         提示框 ("写出文件失败", )
  8.         返回

  9.     }
  10. }
  11. 否则
  12. {
  13.     如果 (写出文本文件 (外部文件目录 + "/" + 文件名_局, 临时CSV文本, 真, 文本编码.GBK) == 假)
  14.     {
  15.         提示框 ("写出文件失败", )
  16.         返回

  17.     }

  18. }

  19. 一键分享文件 (本对象, 外部文件目录 + "/" + 文件名_局, "发送到:", "*/*")
复制代码

//*********************以上是写文件的地方**********************
//*********************以下是一件分享文件的地方**********************
  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 方法 一键分享文件 <公开
  3.         @java.导入 = "android.content.Intent\nandroid.net.Uri\nandroid.os.Bundle\njava.io.File\nandroid.os.StrictMode"
  4.         @安卓.权限需求 = "android.permission.WRITE_EXTERNAL_STORAGE" "">
  5. 参数 欲窗口 <类型 = 安卓窗口>
  6. 参数 文件路径 <类型 = 文本型>
  7. 参数 分享标题 <类型 = 文本型 注释 = "分享窗口标题" @默认值 = "发送文件">
  8. 参数 文件类型 <类型 = 文本型 @默认值 = "*/*">
  9. {
  10.     @ String filePath = @<文件路径>;
  11.     @ File file = new File(filePath);
  12.     @ Uri fileUri = Uri.fromFile(file);
  13.     @ StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
  14.     @ StrictMode.setVmPolicy(builder.build());
  15.     @ Intent intent = new Intent(Intent.ACTION_SEND);
  16.     @ intent.setType(@<文件类型>);
  17.     @ intent.putExtra(Intent.EXTRA_STREAM, fileUri);
  18.     @ @<欲窗口>.startActivity(Intent.createChooser(intent, @<分享标题>));

  19. }
复制代码




以上代码在安卓9测试正常,在安卓12里分享到微.信提示“获取资源失败”,分享到Q.Q提示“文件不存在”,但是我用文件管理器能看到,请教这个问题怎么解决,请大神指导。




回复

使用道具 举报

439

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
36709
沙发
发表于 2024-4-28 19:04:30 | 只看该作者
。。直接用  写出共享文件 ()  操作。
看注释啊大哥。不能瞎写。路径直接塞进去就行了。


安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

23

主题

97

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
板凳
 楼主| 发表于 2024-4-28 20:54:49 | 只看该作者
创世魂 发表于 2024-4-28 19:04
。。直接用  写出共享文件 ()  操作。
看注释啊大哥。不能瞎写。路径直接塞进去就行了。

测试过了,用“写出共享文件()”和“写出共享文本文件()”都可以写出,而且参数跟注释对比了没毛病,然后安卓12用微.信分享不了。
回复

使用道具 举报

439

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
36709
地板
发表于 2024-4-28 23:26:04 | 只看该作者
极速网络科技 发表于 2024-4-28 20:54
测试过了,用“写出共享文件()”和“写出共享文本文件()”都可以写出,而且参数跟注释对比了没毛病,然后 ...

我的意思是,你这个 创建子目录 什么的代码没有什么意义,内部已经有了。

另外你这个分享代码也不对的。不是这么写的。关于分享文件的方法,后面我把火山的改改。目前火山的分享文件是有问题的。旧版可以用,新版已经用不了了
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

23

主题

97

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
5#
 楼主| 发表于 2024-4-29 13:58:48 | 只看该作者
创世魂 发表于 2024-4-28 23:26
我的意思是,你这个 创建子目录 什么的代码没有什么意义,内部已经有了。

另外你这个分享代码也不对的。 ...

好的,知道了,感谢,我一直以为我写出位置不对导致没法分享,也用了别人几个开源的试了都不行,实在找不到能用的了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-19 01:44 , Processed in 0.099764 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表