unity3d应用内分享(微信、微博等)的实现
2024-10-19 17:45:58
问题:如何在unity3d的游戏中实现分享功能,如图
思路:
1、分享功能的实现方式有多种,较方便快捷的一种是直接调用android的API来调出系统的分享界面
2、unity3d里面调用android的API需要为此编写一个android的插件
3、在插件(android的jar包)里面调用Intent类来实现Activity间的消息传递,换出系统的分享控制台
代码:
Android插件代码
package com.XXX.XXX; import android.content.Intent;
import android.os.Bundle;
import com.unity3d.player.UnityPlayerActivity; public class MainActivity extends UnityPlayerActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); } public void onPress(String msg)
{
Intent shareInt = new Intent(Intent.ACTION_SEND);
shareInt.setType("text/plain");
shareInt.putExtra(Intent.EXTRA_SUBJECT, "选择分享方式");
shareInt.putExtra(Intent.EXTRA_TEXT, msg); // 要分享的内容
shareInt.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(shareInt, getTitle()));
}
}
unity3d调用代码
void OnGUI()
{
if (GUILayout.Button("Send WeChat", GUILayout.Height()))
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("onPress", new object[] {"这游戏真好玩,快来下载吧!"});
}
}
注意:
1、编写插件需要用到eclipse ADT,可以在Android Develop官网下载Android SDK,直接使用里面的eclipse就OK
2、创建一个Android工程,将bundle标示设置为与unity3d一致,比如都叫com.xxx.yyy
3、导入com.unity.player.UnityPlayerActivity包(路径在“Unity安装目录\Editor\Data\PlaybackEngines\androidplayer\bin”下)修改MainActivity类的继承
4、将整个jar包导出,存放到Assets/Plugins/Android目录下,并将jar包中的libs、res、AndroidManifest.xml也放入同级目录下
5、在unity3d中通过jo.Call<返回类型>/jo.Call来调用Android插件接口,传入对应的参数
6、该行为不能在unity编辑器中测试,因为需要调用Android API
最新文章
- Ubuntu16.04安装Screenlets
- 如何让textarea不可拖拽
- Cannot override the final method from SherlockFragmentActivity
- maven 跳过测试 打包 及上传命令
- block 在ARC和非ARC下的不同含义
- 初探Asp.net5
- centos ssh配置使用
- SQL日志文件的作用
- Docker系列
- 【转】Eclipse中设置ButterKnife进行注解式开发步骤 -- 不错
- Digital Root - SGU 118(高精度运算)
- 关于get和set访问器以及属性和字段变量的区别问题
- Remove Invalid Parentheses 解答
- java中log4j的使用体验
- git conflict
- python 接口自动化测试(四)
- java web 项目打包(war 包)并部署
- Jquery Mobile 让错误提示可在后台控制显示内容
- iReport 5.6.0 安装包下载&;安装
- css3选择