当前位置: 首页 > 面试题库 >

随着持续时间和模式而振动

卫弘懿
2023-03-14
问题内容

我正在开发一个简单的插件。现在,我正在尝试添加振动属性。但是此代码不起作用。我要去哪里错了?我的代码如下。你能帮我吗。

Android:

导入android.os.Vibrator;

public class Brid {

private Context context;
private static Brid instance;


public Brid()
{
    this.instance = this;
}

public static Brid instance()
{
    if(instance == null) {
        instance = new Brid();
    }
    return instance;
}

public void setContext(Context context) {
    this.context = context;
}



public void Vibrate()
{
    Vibrator v = (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE);
    v.vibrate(100);
}

}

Unity3D:

    public static void Vibrate(AndroidJavaObject Brid, AndroidJavaObject context)
{
    if (Brid == null)
    {
        using (AndroidJavaClass activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
        {
            context = activityClass.GetStatic<AndroidJavaObject>("currentActivity");
        }

        using (AndroidJavaClass pluginClass = new AndroidJavaClass("com.xxx.ultimatemobile.Brid"))
        {
            if (pluginClass != null)
            {
                Brid = pluginClass.CallStatic<AndroidJavaObject>("instance");
                Brid.Call<AndroidJavaObject>("setContext", context);
                Brid.Call<AndroidJavaObject>("Vibrate");
            }
        }
    }
}

按钮事件:

public void vibrate()
    {
#if UNITY_ANDROID

        Bridge.Vibrate(null, null);

#endif
    }

提前致谢…


问题答案:

我的解决方法如下。

统一:

        using (AndroidJavaClass pluginClass = new AndroidJavaClass("com.xx.ultimatemobile.Brid"))
        {
            if (pluginClass != null)
            {
                Brid = pluginClass.CallStatic<AndroidJavaObject>("instance");
                Brid.Call("setContext", context);
                context.Call("runOnUiThread", new AndroidJavaRunnable(() =>
                {
                    Brid.Call("Vibrate");
                }));
            }
        }

另外,我在1分钟之前找到了Manifest.xml文件示例。现在,该插件正在运行。



 类似资料:
  • 我试图用libgdx做一个游戏,但有一个问题。我已经找得很好了,但我找不到解决办法。

  • 我正在寻找一种从“ISO 8601持续时间格式”(P0DT0H0M0S)转换为小时的便捷方法。 到目前为止,我想到了这个: 如您所见,我的方法是将数字拆分并乘以24、1、1/60、1/3600以得到小时。我可以减少代码量吗? 样本数据和所需结果 输入: 'P1DT2H3M44S' (1 天 2 小时 3 分 44 秒) 期望输出: 26.062222222222222 (这是小时)

  • 问题内容: 我正在玩gobpf,在计算跟踪的用户空间函数的持续时间时遇到问题。我使用bpf_ktime_get_ns()读取时间,然后尝试计算增量,但是得到了很多数字,尽管跟踪函数仅睡了1秒钟。 这是经过测试的C程序,其功能称为“ ameba”。 去代码 程序输出示例: PID命令持续时间RAW 15515 ameba 1193179h21m9.457496929s 429544566945749

  • 问题内容: 我正在使用Android的软件包来开发包含多个的ViewPager 。 我正在尝试在用户更改页面时隐藏视图。因此,我实现了一个来监听适配器,并在发生页面更改时在s中调用一个方法。但是我得到了,我不知道为什么。 这是代码: 和 w当我复制/粘贴时,我删除了方法,但是它们在那里。该方法记录if ,并且始终返回false。当我寻呼时,被调用并返回true。为什么会发生这种情况,我该如何解决?

  • 问题内容: 如何获取格式为2个字符串的持续时间? 我正在尝试使用Calendar类并检查。我与此有关的问题是它不一致。知道我在做什么错吗?每次我运行该程序时,如果没有,输出40-70行到控制台。 问题答案: 那是一个已记录的错误。 尝试在设置日历之前清除日历:

  • 许多记者将显示测试持续时间,以及标记缓慢的测试,如“spec”记者所示: 要调整被认为“慢”的东西,您可以使用以下slow()方法: describe('something slow', function() { this.slow(10000); it('should take long enough for me to go make a sandwich', function() { /