2010-06-24 176 views
6

其實我有,我有兩個設備上測試的應用程序。一臺LG GW620和一臺三星Spica。 我想當用戶觸摸屏幕時,設備會振動。的Android - 振動設備不工作

事實上,在LG GW620,當我撫摸它的設備振動。但在人字形不...

我找的人字形設置,但振動器檢查,所以我不明白爲什麼它不振動。

在我的應用我有:<uses-permission android:name="android.permission.VIBRATE"></uses-permission>

,並在代碼:

Vibrator vibrator =(Vibrator)getSystemService(Context.VIBRATOR_SERVICE); 
      vibrator.vibrate(100); 

但我認爲這是不這樣做的最好的事情。我希望設備每次點擊都能振動,但是我不知道是否必須爲每個OnClick做一個振動器?或者如果我只能爲所有的應用程序做一個振動器?
特別是爲什麼它不適用於Spica?

+14

這是我在Stack Overflow上看到的最好的問題標題。喜劇! – theorise 2010-06-24 08:09:47

+2

我是法國人,我只是把「振動」,因爲它這樣調用Android中......但我只看到振動器具有雙重意義<_ < – Nanis 2010-06-24 08:17:24

+5

您的使用是正確的,但是這確實有雙重含義(至少在美國)。我不擔心這個問題,這個問題本身就很清楚。 – Chimmy 2010-06-24 08:23:15

回答

4

有趣。在你點擊按鈕時,你應該振動。而且,由於它在幾毫秒內我會放置500秒半秒而不是0.1秒。

void onCreate() { 

    mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 

    Button b = (Button) findViewById(R.id.button); 
    b.setOnClickListener(new View.OnClickListener() { 
     void onClick() { 
      mVibrator.vibrate(500); 
     } 
    }); 
} 
+0

好的,所以我必須爲我的應用程序的每個按鈕/ ImageView做到這一點?有沒有別的辦法?因爲我的應用上有30或40個按鈕,所以它會很長。 – Nanis 2010-06-24 12:27:26

+1

如果您使用1.6 SDK(版本4),Views可以在xml中設置onClick方法。因此,對於每個按鈕,您可以設置onClick,並且在您的活動中,該方法必須具有與onClick(View v)匹配的signiature,其中v將是單擊的按鈕。 對於每個按鈕設置機器人:的onClick =「的onClick」,其中的onClick是在你的活動的方法的onClick的名稱。 http://developer.android.com/reference/android/R.attr.html#onClick – 2010-06-24 12:32:28

+0

THX很多關於你的答案,這是有幫助的。你有什麼想法爲什麼Spica不振動,而LG GW620呢? – Nanis 2010-06-24 12:37:08

0

幾乎在互聯網上的所有解決方案似乎缺少的東西。 。 (背景) 繼承人工作解決方案 。 。 。

Vibrator v = (Vibrator) getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE); 
    v.vibrate(100);