1.安卓方面的准备和代码编写

准备:必看https://blog.csdn.net/qq_15020543/article/details/82976850(先不要导出aar或jar包

代码编写:参考自https://blog.csdn.net/mseol/article/details/78518754#commentsedit

在自己的Library新建一个类

package com.li.copy;import android.app.Fragment;import android.content.ClipboardManager;import android.content.Context;import android.content.ClipData;import com.unity3d.player.UnityPlayer;public class MyPluginClass extends Fragment //注意,这里继承的是Fragment。要具体理解可以了解下 Android Activity 的层级结构{    private static final String TAG = "Plugin";    private static MyPluginClass Instance = null;    private String gameObjectName;    public static MyPluginClass GetInstance(String gameObject)    {        if(Instance == null)        {            Instance = new MyPluginClass();            Instance.gameObjectName = gameObject;            UnityPlayer.currentActivity.getFragmentManager().beginTransaction().add(Instance, TAG).commit();        }        return Instance;    }    //拷贝String到剪贴板    public void onClickCopy(String str) {        //获取剪贴板管理器:        ClipboardManager cm = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);        // 创建普通字符型ClipData        ClipData mClipData = ClipData.newPlainText("Label", str); //Label是任意文字标签        // 将ClipData内容放到系统剪贴板里。        cm.setPrimaryClip(mClipData);    }    //粘贴    public String onClickPaste(){        ClipboardManager cm = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);        String result = "";        ClipData clipData = cm.getPrimaryClip();        ClipData.Item item = clipData.getItemAt(0); //这里获取第一条,也可以用遍历获取任意条        CharSequence charSequence = item.coerceToText(getActivity().getApplicationContext());        result = charSequence.toString();        return result;    }}

根据需求导出aar/jar包,并放在Unity指定位置

2.创建Unity场景

Unity代码

using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class name : MonoBehaviour{    AndroidJavaObject jo = null;    public Text text1;    public Text text2;    void Start()        {            AndroidJavaClass jc = new AndroidJavaClass("com.li.copy.MyPluginClass"); //和java代码包名统一            jo = jc.CallStatic("GetInstance", gameObject.name); //Main Camera        }        public void OnCopy()        {            jo.Call("onClickCopy", text1.text);        }        public void OnPaste()        {            text2.text = jo.Call("onClickPaste");        }}

把脚本挂在到Directional Light上

给两个Button绑定方法

打包,真机测试。

总结:我学到了很多,Android环境,导包,通信,第三方SDK的引入。另外针对这个功能我说一下,函数方法都提供好了,只需要在需要用到的地方调用就可以了。参考案例

 

更多相关文章

  1. Android(安卓)Studio时间选择器的创建方法
  2. android中webservce获取soapObject数据的解析问题
  3. Android(安卓)退出整个程序代码
  4. Android用canvas画哆啦A梦
  5. MTK android代码架构
  6. 编写高效的Android代码(Designing for Performance)
  7. [Android] Adapter:SimpleAdapter SimpleCursorAdapter ArrayAda
  8. 安卓基础(十)
  9. android获取监听SD Card状态的方法

随机推荐

  1. Android自定义相机开发相关知识点(全)
  2. Android应用性能測试
  3. Android 定时器实现图片的变换
  4. android 地图服务开发 INSTALL_FAILED_MI
  5. android之退出应用程序
  6. Android(安卓)Studio 的相关目录
  7. [置顶] Android(安卓)如何对sqlite数据库
  8. android wifi连接打印机并获取打印机状态
  9. android JNI调用 - char*与jstring相互转
  10. Android 第七天重置版_样式主题国际化动