使用创建

时间:2016-04-21 13:46:16

标签: android vibrate

大家好,感谢大家给予的帮助。我先说我从来没有用android编程!我知道其他一些语言,但我充其量只是初学者。我得到了这个应用程序,可以将它从哔哔声转变为振动。

thiyagab很好地给了我以下代码:

import android.os.Vibrator; ... 

Vibrator v = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);

// Vibrate for 500 milliseconds v.vibrate(500);

PS。我在AndroidManifest.xml文件中滑了一下:

<uses-permission android:name="android.permission.VIBRATE"/>

然而,当我编译它时,应用程序关闭,编译器说在onCreate之前服务不可用。因此,在查看他的代码时,我看到了onCreate标题:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

并移动了

Vibrator v = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);

在要包含在onCreate中的那一行之下。但是,现在在这行代码中(进一步向上)

// Vibrate for 500 milliseconds

v.vibrate(500);

v变量为红色,表示未声明。当我将鼠标悬停在它上面时,它表示不可解析。我知道这是一个愚蠢的问题。任何人都可以帮助这个新手吗?非常感谢你!!!!

***** EDITED *********

再次感谢您的帮助!!!!

2 个答案:

答案 0 :(得分:1)

您必须将v.vibrate(500);移至v声明下方。但请将它们留在onCreate()

如果您想在其他地方使用v,则必须先使用

进行声明
Vibrator v;

然后使用

onCreate()内初始化它
v = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);

并且在这个类中的任何地方使用它

v.vibrate(500);

答案 1 :(得分:1)

这会编译吗?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Vibrator v = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);
    v.vibrate(500);
}