关于第三⽅App发起Unity开发的app的解决⽅案原生安卓app开发
我们经常打开别⼈分享到的⽂件,如果是⽂档类⽂件,会⾃动弹出相关的⽂档阅读app供选择打开。
接下来我要为我⾃⼰的app⾃定义⽂件类型来发起app的启动。
1. 原⽣的Adnroid开发项⽬就很简单了,只需要在l⽂件⾥配置相关的权限即可。如下图所⽰,我要配置的是.ldr 和.mpd两种⽂件格式。
此时在Activity⾥通过Uri uri = getIntent().getData();来获取当前打开的⽂件路径。有了⽂件路径,读取⽂件、分享⽂件都可以随意操作了。
2. Unity发布的Andrid app也不⿇烦,需要将Unity的项⽬Export出Android⼯程,添加上⾯所需要的权限即可。
导出的⼯程⽬录如下
直接⽤Android Studio打开⼯程
UnityPlayerActivity就是Unity这个⼯程的⼊⼝Activity。
将代码贴上来:
Uri uri = getIntent().getData();
System.out.println(">获取到参数 = "+ uri);
if(uri != null){
//UnitySendMessage(“string”,“string”, ***),这是⽅法,我们⾄少需要传⼊两个参数,
// 第⼀个参数为unity中的⼀个gameobject名称,
// 第⼆个参数为这个gameobject⾝上捆绑的脚本中的⼀个⽅法,
// ⽽第三参数事实上是这个对应⽅法上的参数,有没有参数就看你了。
Toast.makeText(UnityPlayerActivity.this, "获取到参数= "+ uri, Toast.LENGTH_LONG).show();    mUnityPlayer.UnitySendMessage("Text", "messgae", String());
}
注意要使⽤mUnityPlayer。
Unity中接收数据的代码与之相对应:
需要注意UnityPlayer.UnitySendMessage("Text", "messgae", String());传输数据对应的意义,分别是脚本挂的GameObject、⽅法名、参数。
简单记录,供有开发经验的同⾏参考,同时有更好的⽅案请及时指正。

发表评论