java - 将字符串设置为 long[] 以实现振动功能

标签 java android

我正在开发一个应用程序来根据文本文件中的字符进行自定义振动,但在通过方法传递自定义振动时遇到问题

private void classifier(char c)
{
    String s = null;

    if (c == 'L')
    {
        s = "{0, dot, long_gap, long_gap, short_gap, dot, medium_gap}";
    }
    vibratePattern(s);
}

private void vibratePattern(String s)
{
    Vibrator vibrator;
    vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

    long[] pattern101 = s;
    vibrator.vibrate(pattern101, -1);
}

我想要达到的目的是,当分类器方法检测到使用分类器方法时传入的字符“L”时,它会将模式传递给 vibratePattern 方法来处理并继续振动

我知道我这里的代码是错误的,因为我在分类器方法中使用字符串,而振动方法接受 long[]

我尝试使用 parseLong 将字符串转换为 long,但 long[] 不接受它..

最佳答案

如果一个方法需要一个long[]作为参数,给它一个long[],而不是一个字符串:

private void classifier(char c)
{
    long[] s = null;

    if (c == 'L')
    {
        s = new long[] {0, dot, long_gap, long_gap, short_gap, dot, medium_gap};
    }
    vibratePattern(s);
}

private void vibratePattern(long[] s)
{
    Vibrator vibrator;
    vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

    vibrator.vibrate(s, -1);
}

关于java - 将字符串设置为 long[] 以实现振动功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5143476/

相关文章:

java - 是否可以保护我的 JPasswordField 免受键盘记录器的侵害

java - 退出菜单创建

java - 使用 putExtra 更新绑定(bind)服务中的值

java - 如何通过 Android 的帐户管理器类检索 Twitter 和 facebook 身份验证和 token

android - v4.app.Fragment 中的 getLoaderManger() 和 getActivity().getSupportLoaderManager() 之间的区别

Android:组件的 IntentFilters

java - Android 阻止 onPause 在父类中被调用

java - 使用JDK 10时找不到javax.annotation.Resource的lookup()方法

java - 避免在我的 Android 应用中重复按钮代码

java - android.content.UriMatcher 的含义