Cocos Creator 从下载图片到手机本地相册
在游戏中难免会有使用保存图片到本地的功能
比如二维码等 但是creator的方法是保存在他的游戏目录里 如果手机没有root是无法查看的
这个方法就是 把图片下载到游戏目录 然后在通过目录查找图片 然后把它保存到手机相册
Cocos creator的 Ts 方法
ImgUrl为你要下载的图片URL
SaveToLocal(ImgUrl:string){let fileName="textureName";let fileType=".png";let filePath:string=null;let xhr=new XMLHttpRequest();xhr.onreadystatechange=()=>{if(xhr.readyState===4 && xhr.status ===200){if(xhr.response&&cc.sys.isNative){let rootPath=jsb.fileUtils.getWritablePath();filePath = rootPath + fileName +fileType;let u8a=new Uint8Array(xhr.response);jsb.fileUtils.writeDataToFile(u8a,filePath);
//JS调用JAVA saveTextureToLocal 方法 参数为 filePath 也就是路径jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "saveTextureToLocal", "(Ljava/lang/String;)V", filePath);
//提示已经保存 这是单独写的提示文字的方法 你们可以忽略ManagerNotice.getInstance().show('已保存到相册, 尽快去分享哦');}}},xhr.responseType='arraybuffer';xhr.open("GET",ImgUrl,true);xhr.send();}
下边是安卓 的方法 写在 AppActivity 脚本里
saveTextureToLocal 方法名一定要和JS里调用的一样
//动态获取内存存储权限public static void verifyStoragePermissions() {// Check if we have write permissionint permission = ActivityCompat.checkSelfPermission(app,Manifest.permission.WRITE_EXTERNAL_STORAGE);if (permission != PackageManager.PERMISSION_GRANTED) {// We don't have permission so prompt the user//ActivityCompat.requestPermissions(app, PERMISSIONS_STORAGR,REQUEST_EXTERNAL_STORAGE);}}// 获取 路径中的图片 保存到本地 public static void saveTextureToLocal( String pngPath) {Log.d("图片地址",pngPath);
//先调用上边的方法 获取一下权限 有的时候会说你没有权限verifyStoragePermissions();
//从路径中读取 照片Bitmap bmp = BitmapFactory.decodeFile(pngPath);// fileName ==textureName 尽量和JS保存的一致 String fileName = "textureName";File file = new File(pngPath);try {FileOutputStream fos = new FileOutputStream(file);bmp.compress(Bitmap.CompressFormat.PNG, 100, fos);fos.flush();fos.close();Log.d("保存成功",pngPath );} catch (FileNotFoundException e) {Log.d("保存错误1",e.toString());e.printStackTrace();} catch (IOException e) {Log.d("保存错误2",e.toString());e.printStackTrace();}// 其次把文件插入到系统图库try {MediaStore.Images.Media.insertImage(AppActivity.getContext().getApplicationContext().getContentResolver(),file.getAbsolutePath(), fileName, null);} catch (FileNotFoundException e) {e.printStackTrace();}// 最后通知图库更新AppActivity.getContext().getApplicationContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse(file.getAbsolutePath())));}
Cocos Creator 从下载图片到手机本地相册相关推荐
- Android通过url下载图片到手机本地并显示和删除本地ImageUtil工具类
文章目录 布局 Activity BroadcastReceiver 文件工具类 图片工具类 Manifest MyApplication 完成代码下载 这里的demo是一个通过下载地址下载图片文件到 ...
- JAVA 通过url下载图片保存到本地(亲测)
//java 通过url下载图片保存到本地 public static void download(String urlString, int i) throws Exception { ...
- Taro 下载图片到手机
最近需要做一个微信下载图片到手机的需求,因为涉及到微信的照片权限,因此做个记录 // 鉴权操作 判断是否有保存到相册的权限 // 有就直接下载 没有就弹窗提示给权限 downImg() {Taro.g ...
- python怎么下载图片怎么保存到本地_详解Python下载图片并保存本地的两种方式
一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码: import os,stat import urllib.request img_url ...
- PHP高效下载图片保存到本地
PHP如何怎么样高效下载图片保存到本地? 直接上代码: /*** 下载图片,保存到本地文件* * @param string $url* @param string $saveFile* @retur ...
- android 下载保存视频到本地相册刷新 机型适配问题
android 下载保存视频到本地相册刷新 机型适配问题 android 下载保存视频到本地相册刷新问题 一般我们保存视频文件到本地 使用一下方法扫描到相册,通知相册更新 MediaScannerCo ...
- uniapp下载图片并保存到相册
uniapp如何下载图片并保存到相册 我们要实现的功能是点击下载场馆二维码到手机相册 下面是实现的js代码 settingQrImgBase64(id) {uni.showLoading({title ...
- android 本地图片分享,Android 把图片保存到本地相册
[实例简介] 把图片保存到本地相册,实现本地相册资源同步化 [实例截图] [核心代码] Scanner └── Scanner ├── AndroidManifest.xml ├── bin │ ...
- uni-app小程序,将base64图片保存到本地相册
描述 在做项目时,通过填写个人信息,生成一个二维码,现在要求将生成的二维码保存到本地,当点击图片上面的"保存到本地"时,就会将图片保存到本地相册里 实现过程 下面代码中的picUr ...
最新文章
- 基于supersocket、C#对JT808协议进行解析构建gps监控平台服务端
- 对云计算的忽视是 银行的战略失误
- 转:MySQL性能优化的最佳20+条经验
- 关于网站URL转码的问题
- MySQL 集群方案介绍
- java 等待几秒_问懵逼:请站在 JVM 角度谈谈 Java 的锁?
- mac常用设置(新建、显示隐藏文件、任意位置开启终端等)
- 导航猫(NaviCat for MySql)建立表的方法
- [Java] 1006. Sign In and Sign Out (25)-PAT甲级
- matlab中的语言,matlab语言学习MATLAB语言基础.pdf
- 微信打飞机项目前期心得
- 基于钓鱼邮件测试的安全意识教育方法
- 直播视频分辨率码率参考设置
- Win10系统怎么打开卓越模式?Win10这些隐藏模式你都知道吗?
- 微型计算机的一般结构,微型计算机的基本结构
- 荣耀V20设置国科大邮箱步骤
- PC端 UC浏览器页面显示该站点安全证书的吊销不可用
- AD domain 环境下VBS自动生成邮件签名
- DataGear 轻松制作支持图表联动的全国地图、省级地图数据可视化看板
- php蓝牙连接不上,Mac蓝牙不可用怎么办?苹果电脑Mac蓝牙连不上i