首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在类signature=中没有名称=‘getMessage’Ljava.lang.Object‘()Ljava/lang/String;’的静态方法;

在类signature=中没有名称=‘getMessage’Ljava.lang.Object‘()Ljava/lang/String;’的静态方法;
EN

Stack Overflow用户
提问于 2017-05-08 17:59:20
回答 1查看 3.7K关注 0票数 1

试着把联合插件写到Android Studio..。

代码语言:javascript
运行
复制
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行代码。见下

代码语言:javascript
运行
复制
AndroidJavaClass pluginClass = new AndroidJavaClass("com.eppz.myplugin.My_Plugin");
        GetComponent<Text>().text = pluginClass.CallStatic<string>("getMessage");

和错误日志:

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

发布于 2017-05-08 18:53:05

Java中的getMessage函数接受一个字符串参数。您必须使用字符串参数来调用它。

代码语言:javascript
运行
复制
pluginClass.CallStatic<string>("getMessage");

应:

代码语言:javascript
运行
复制
pluginClass.CallStatic<string>("getMessage", "my parameter");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43854361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档