试着把联合插件写到Android Studio..。
public class My_Plugin extends UnityPlayerActivity {
private Context mContext;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
mContext = this;
TelephonyManager telephonyManager = ((TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE));
getMessage(telephonyManager.getSimOperatorName());
}
public static String getMessage(String message){
return message;
}
}作为AAR导入的一个类。
在“统一”中,只有2行代码。见下
AndroidJavaClass pluginClass = new AndroidJavaClass("com.eppz.myplugin.My_Plugin");
GetComponent<Text>().text = pluginClass.CallStatic<string>("getMessage");和错误日志:
I/Unity: AndroidJavaException: java.lang.NoSuchMethodError: no static method with name='getMessage' signature='()Ljava/lang/String;' in class Ljava.lang.Object;
java.lang.NoSuchMethodError: no static method with name='getMessage' signature='()Ljava/lang/String;' in class Ljava.lang.Object;
at com.unity3d.player.ReflectionHelper.getMethodID(Unknown Source)
at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
at com.unity3d.player.UnityPlayer.a(Unknown Source)
at com.unity3d.player.UnityPlayer$c$1.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:135)
at com.unity3d.player.UnityPlayer$c.run(Unknown Source)
at UnityEngine.AndroidJNISafe.CheckException () [0x00000] in <filename unknown>:0
at UnityEngine.AndroidJNISafe.CallStaticObjectMethod (IntPtr clazz, IntPtr methodID, UnityEngine.jvalue[] args) [0x00000] in <filename unknown>:0
at UnityEngine.AndroidReflection.GetMethodMember (IntPtr jclass, System.String methodName, Syst发布于 2017-05-08 18:53:05
Java中的getMessage函数接受一个字符串参数。您必须使用字符串参数来调用它。
pluginClass.CallStatic<string>("getMessage");应:
pluginClass.CallStatic<string>("getMessage", "my parameter");https://stackoverflow.com/questions/43854361
复制相似问题