Unity3d截图保存到Android相册的实现
Unity3d截图保存到Android相册的实现
-----------------------------ultrasoon 季风原创---------------------------------------
1.Unity3d场景中先加入屏幕抓图功能:
Application.CaptureScreenshot("Screenshot.png");
这样Screenshot.png就存到了你的app沙盒中,请检查/sdcard/Android/data/com.ultrasoon.MyApp/,这个是我的app沙盒路径.
这个是第一步,之后还要保存到相册中。
2.unity中点击保存到相册按钮
unity部分代码:
1 public static AndroidJavaClass plugin;
2
3
4 void Awake ()
5 {
6
7 if(Application.platform == RuntimePlatform.Android ) {
8 plugin = new AndroidJavaClass("com.ultrasoon.MyApp.Binding");
9 }
10 }
11 void OnGUI()
12 {
13 if (GUI.Button(new Rect(20, 20, 100, 5), "save"))
14 {
15 //保存到相册,调用自己写的Binding插件
16 plugin.CallStatic("savebuttonClicked");
17
18 }
19 }
3.Binding插件的实现.import对应的package
Binding.cs部分代码:
1 public static Context context;
2
3 // 保存到相册
4 public static void savebuttonClicked() {
5
6 //取得你XXXXXXXActivity的context.用自己的,不能用this,插件中调用静态的方法
7 context = XXXXXXXActivity.getApplicationContext();
8
9 XXXXXXXActivity.runOnUiThread(new Runnable() {
10 public void run() {
11 // file:///sdcard/Android/data/com.ultrasoon.MyApp/files/Screenshot.png
12 Bitmap bitmap = Binding
13 .getDiskBitmap("/sdcard/Android/data/com.ultrasoon.MyApp/files/Screenshot.png");
14 if (bitmap != null) {
15
16 MediaStore.Images.Media.insertImage(
17 context.getContentResolver(), bitmap, "myPhoto", "");
18 context.sendBroadcast(new Intent(
19 Intent.ACTION_MEDIA_MOUNTED,
20 Uri.parse("file://"
21 + Environment.getExternalStorageDirectory())));
22 Toast.makeText(
23 context,
24 " 恭喜你!照片已保存到你的相册中! ", Toast.LENGTH_SHORT).show();
25 }
26 }
27 });
28
29 }
30
31 // 读图
32 public static Bitmap getDiskBitmap(String url) {
33
34 Bitmap bitmap = null;
35 try {
36 File file = new File(url);
37 if (file.exists()) {
38 bitmap = BitmapFactory.decodeFile(url);
39
40 }
41 } catch (Exception e) {
42
43 }
44 return bitmap;
45 }
4.编译打包插件Binding,打包成jar,复制到unity的Asserts中下面的plugins目录里面。
OK了。
具体细节希望自己摸索!
-----------------------------ultrasoon 季风原创---------------------------------------
Unity3d截图保存到Android相册的实现的更多相关文章
- Android相机、相册获取图片显示并保存到SD卡
Android相机.相册获取图片显示并保存到SD卡 [复制链接] 电梯直达 楼主 发表于 2013-3-13 19:51:43 | 只看该作者 |只看大图 本帖最后由 happy小妖同学 ...
- android如何保存读取读取文件文件保存到SDcard
android如何保存读取读取文件文件保存到SDcard 本文来源于www.ifyao.com禁止转载!www.ifyao.com 上图为保存文件的方法体. 上图为如何调用方法体保存数据. 上面的截图 ...
- [置顶] Android学习系列-把文件保存到SD卡上面(6)
Android学习系列-把文件保存到SD卡上面(5) 一般多媒体文件,大文件需要保存到SD卡中.关键点如下: 1,SD卡保存目录:mnt/sdcard,一般采用Environment.getExter ...
- Android开发调试日志工具类[支持保存到SD卡]
直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.i ...
- Android—将Bitmap图片保存到SD卡目录下或者指定目录
直接上代码就不废话啦 一:保存到SD卡下 File file = new File(Environment.getExternalStorageDirectory(), System.currentT ...
- Android 程序drawable资源保存到data目录
今天做了个小功能,就是把我们程序Drawable里面的图片保存到data目录下面,然后另外一个程序需要读取data目录里面保存的图片.涉及了data目录读写.这功能看上去挺简单,不过实际做的时候还是遇 ...
- Android 将文件保存到SD卡,从卡中取文件,及删除文件
//保存到SD卡 private static String sdState = Environment.getExternalStorageState(); private static S ...
- Android把图片保存到SQLite中
1.bitmap保存到SQLite 中 数据格式:Blob db.execSQL("Create table " + TABLE_NAME + "( _id INTEGE ...
- Unity调用Android相册
最近有一个项目有这个需求,让用户上传自己的交易凭证的截图,之前因为对调Android原生的东西不太熟悉,就先放了一边 因为项目已经上线,只不过是该功能未开放而已,那么现在为什么要写这篇博客呢,是因为. ...
随机推荐
- the hard thing about hard things 书摘
1. from communist to VC 领导力是什么,书后面还举了乔布斯的例子,比如NEXT公司时期就是如此,是什么吸引了那些人在前景不明时还跟随乔布斯? 作者用自己与妻子的相遇说明,不要 ...
- 阿里云开放服务oss的api
http://imgs-storage.cdn.aliyuncs.com/help/oss/OSS_API_20131015.pdf?spm=5176.383663.5.23.JQjiIK&f ...
- Netbeans Platform 工程,免安装JDK
使用Netbeans 6.8 创建了一个Netbeans Platform 工程,以Zip形式发布后, 按照以下操作,可 以在客户端免安装JDK: 1. 从已安装JDK的计算机中,提取JDK:eg. ...
- Scriptcase优惠活动即将结束
前段时间我们开展了一段时间的Scriptcase打折优惠活动,现该活动即将结束,敬请知悉. Scriptcase是最好的PHP代码生成器,可以方便的与MySQL.Oracle.MSSQL.DB2等几乎 ...
- 【半原创】将js和css文件装入localStorage加速程序执行
首先感谢某某作者写的文章:http://www.jb51.net/article/12793.htm 直接上代码,注意文件名为env.js 原理如下: 一次批量加要加载的文件存入数组,采用Ajax方式 ...
- sql with(lock) 与事务
sql select查询语句 表后面携带 with(nolock) 会获取到 在事务中已经执行 但还未完成提交的 记录 即使表被锁住也能查询到 当事务最终执行失败时 查询到的记录可能没有啦 不 ...
- 《dive into python3》 笔记摘录
1.list can hold arbitrary objects and can expand dynamically as new items are added. A list is an ...
- linux如何安装MyEclipse 2014
http://jingyan.baidu.com/article/0320e2c1cced031b87507b08.html
- Java工具类 Apache Commons:commons-lang
Commons Lang The standard Java libraries fail to provide enough methods for manipulation of its core ...
- perl学习笔记(3)—— 坑
(1)用perl来ls一个目录: 写perl的时候,经常要调用到系统命令,perl有很多等价的函数可以用,但是,不小心任性了,就想用system来实现了,好吧,来个ls把,列出指定的一个目录,直接上代 ...