`
wang_peng1
  • 浏览: 3944338 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

unity 调原生Uri intent等

 
阅读更多
Texture2D tex=new Texture2D(width,height,TextureFormat.RGB24,false);
        tex.ReadPixels(new Rect(startX,startY,width,height),0,0);

        tex.Apply();

        byte[] dataToSave = tex.EncodeToPNG();
        grab = false;
        string destination = Path.Combine(Application.persistentDataPath,System.DateTime.Now.ToString("yyyy-MM-dd-HHmmss") + ".png");
        File.WriteAllBytes(destination, dataToSave);

            AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
            AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
            intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
            AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
            AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse","file://" + destination);
            intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject);
            intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), message);

            intentObject.Call<AndroidJavaObject>("setType", "image/jpeg");
            AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");

            // option one WITHOUT chooser:
            currentActivity.Call("startActivity", intentObject);

  AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");

         AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse","rtsp://192.168.42.1/live");

 

        Dictionary<string, string> dic = new Dictionary<string, string>();

        dic.Add("rtsp_transport", "tcp"); 

        dic.Add("max_analyze_duration", "500"); 

 

        AndroidJavaObject map = dicToMap(dic);

 

        AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");  

        AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");  

        mediaPlayer.Call("setDataSource", currentActivity,uriObject,map);

分享到:
评论

相关推荐

    Unity与原生交互,Arr包 拨号 高德导航 等

    然而,有时我们不仅需要在Unity中构建游戏或应用程序,还需要与操作系统原生功能进行交互,例如调用手机功能、导航等。本教程将详细介绍如何在Unity中与Android原生环境进行交互,实现拨号和高德导航功能,并提供了...

    Unity3d打开手机相册完整工程实例

    `OnActivityResult()`是回调函数,当用户选择图片后,系统会返回结果,我们可以在此处处理选择的图片URI。 此外,如果我们要实现拍照功能,可以创建一个类似的方法`OpenCamera()`,但这次我们使用`ACTION_IMAGE_...

    Unity调用android相机 相册 U3D工程和android 工程

    在Unity游戏引擎中,开发人员经常需要与移动设备的原生功能进行交互,例如调用摄像头和访问相册。这通常涉及到使用Unity的Android插件系统来实现与Android原生API的对接。以下是对这个主题的详细解释: 一、Unity与...

    Unity调用Android系统相册

    本知识点主要探讨如何利用Unity3D与Android原生接口交互,实现从Android相册选取图片并在Unity中进行处理。 首先,我们需要了解Unity与Android之间的交互原理。Unity提供了Java插件接口,允许我们通过C#脚本调用...

    unity和安卓交互调用安卓浏览器拉起应用市场

    通过这样的方式,开发者可以实现Unity游戏在Android平台上调用浏览器拉起应用市场,从而实现热更新或引导用户评价等功能。这种方式既充分利用了Unity的游戏开发优势,也发挥了Android原生代码的灵活性。

    Unity中安装APK

    Unity本身支持多个平台的发布,包括但不限于Android、iOS、Windows等。对于Android平台而言,安装APK意味着与操作系统进行交互,这通常需要通过编写原生代码(即Java或C++)并将其嵌入到Unity项目中来实现。 ### ...

    unity与Android交互 调用Android的相册

    这个过程涉及到Unity与Android原生代码的互操作性,通常通过Java插件或者Android插件系统实现。下面将详细解释如何在Unity中调用Android的相册功能。 首先,Unity5.4.3版本支持打包到Android平台,并且其Android...

    Unity打开IOS/Android图库和相机获取相片

    在Unity开发跨平台移动应用时,常常需要与设备的系统功能进行交互,比如访问图库、使用相机等。本文将详细讲解如何在Unity中调用iOS和Android原生接口,以便实现打开图库和相机功能,并获取用户选择的图片。 首先,...

    打开安卓手机图库和相机并裁剪图片上传到unity

    综上所述,这个案例涵盖了Unity与Android原生功能的交互,涉及到Unity插件开发、Android的Intent使用、图片处理以及跨平台数据传输等知识点。这些技术对于构建具有丰富用户体验的跨平台游戏或应用至关重要。

    unity安装应用.rar

    综上所述,实现这个功能需要对Unity和Android原生开发有深入理解,包括Unity的资源管理和脚本编程,以及Android的Intent机制和权限管理。通过合理的编程和设计,可以在Unity游戏中无缝地添加应用安装功能,扩展应用...

    AndroidStudio和unity交互从相册选照片Demo

    通过Java和C#的协同工作,我们可以实现从Android原生功能到Unity3D游戏引擎的数据传输,为游戏或应用增加更丰富的功能。这样的跨平台交互技术在开发混合式应用时非常有用,尤其是在需要利用Android特定功能时。

    unity打开安卓和ios的相机和相册,eclipse安卓源码

    本文将详细讲解如何在Unity中打开Android和iOS设备的相机及相册,并提供Eclipse中用于辅助Android原生开发的源码。 一、Unity打开Android和iOS的相机 1. **Unity接口调用** 在Unity中,我们可以使用`UnityPlayer...

    [Unity安卓开发][Java版本]APK安装唤醒-非静默版-Demo

    这个脚本会启动一个Intent,该Intent携带了APK文件的URI,然后通过StartActivityForResult方法启动安装过程。接着,Java插件中的BroadcastReceiver会在安装完成后接收ACTION_PACKAGE_ADDED广播,将安装结果反馈回...

    调用IOS/Android相册功能

    总结来说,调用iOS和Android相册功能涉及的关键知识点包括:Unity与原生平台的交互、AVFoundation框架的使用、Android Intent的使用、原生插件开发、C#与原生代码的交互,以及图片数据的处理。理解并掌握这些知识点...

    WebCamTextureAlbum.zip

    "web.apk"可能是编译后的Android应用,"Assets"包含了Unity项目的资源,如脚本、纹理等;"ProjectSettings"包含了Unity项目的配置信息;"Packages"目录可能包含了第三方插件或Unity的包管理器资源。 综上所述,...

    untiy移动端打开相册保存图片.zip

    使用`Intent`启动系统相册,获取选中的图片Uri,并通过`ContentResolver`读取图片数据。然后,可以使用`Bitmap`对象处理图片,并将其保存到设备的指定目录。 ```java public class UnityGalleryPicker { public ...

    Androidcamera

    - 使用Unity的`Plugins`目录:为了在Unity中调用Android原生代码,我们需要编写Java代码(在Android Studio中),然后将编译后的 `.aar` 文件导入Unity的 `Assets/Plugins/Android` 目录下。 - 创建`...

    AndroidForUnityUpdata.zip

    在Android平台上,Unity游戏引擎与原生Android代码的交互是一个常见的需求,这使得开发者能够利用Unity的强大3D渲染能力,同时结合Android的系统级功能,如安装应用、访问硬件等。"AndroidForUnityUpdata.zip"这个...

Global site tag (gtag.js) - Google Analytics