2015-07-04 105 views
0

在某些設備上的.performHapticFeedback就會失敗,沒有辦法知道觸覺反饋的成功與否,這樣的設備上,觸覺反饋設置爲true如何檢查Android設備是否能夠觸覺反饋?

有沒有辦法知道是否該設備是否能夠觸覺反饋,或觸覺反饋是否被執行?

(該設備是銀河W的,我使用的測試了android2.3,我不認爲這是能夠觸覺反饋,因爲沒有觸覺反饋設置)

回答

1

我的猜測將是以下:

在你的活動/服務代碼嘗試檢查振動器服務可用這樣的:

// Get instance of Vibrator from current Context 
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
if(v == null){ 
//no haptic feedback is possible 
} 
else{ 
//haptic feedback is a possible feature 
} 
+0

感謝您的回答,我也回答了@阿努邦的答案,我想觸覺反饋和振動是不同的東西,觸覺反饋似乎是振動電機的具體和本地使用 –

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

您可以使用下面的API。在API級別11中添加。無需許可。

boolean isVibrator = mVibrator.hasVibrator(); 

它檢查硬件是否有振動器。

如果您想根據支持振動設備,則需要添加權限。 android.permission.VIBRATE然後調用mVibrator.vibrate(long millisenonds)

+0

感謝回答,我不太瞭解Android的動態,但振動和觸覺反饋似乎是不同的東西,有問題的設備可以振動,但似乎沒有本地觸覺反饋功能(我的意思是理論上它可以提供觸覺反饋,但.performHapticFeedback方法不起作用) –

+0

@KaanSoral如果未啓用觸覺,則performHapticFeedback()API將不起作用。您可以查看http://developer.android.com/reference/android/view/View.html#performHapticFeedback(int) 要檢查用戶的觸覺設置,請使用以下行 Settings.System.getInt(Context.getContentResolver(), Settings.System.HAPTIC_FEEDBACK_ENABLED,0); – Anupam

+0

就像我在我的問題中提到的那樣,觸覺反饋設置似乎已啓用 - 據我所知,這只是默認情況下啓用的設置,啓用並不意味着能力/集成存在 –

相關問題