您可以使用此代碼(需要手機圖書館和反思庫):
Sub Process_Globals
Dim pv As PhoneVibrate 'Required to add the Vibrate permission
End Sub
Sub Globals
End Sub
Sub Activity_Create(FirstTime As Boolean)
Vibrate(500, 300)
ToastMessageShow("Click anywhere to stop vibrate.", True)
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Click
CancelVibrate
End Sub
Sub Vibrate(On As Long, Off As Long)
Dim r As Reflector
r.Target = r.GetContext
r.Target = r.RunMethod2("getSystemService", "vibrator", "java.lang.String")
Dim pattern(2) As Long
pattern(0) = On
pattern(1) = Off
r.RunMethod4("vibrate", Array As Object(pattern, 0), Array As String("[J", "java.lang.int"))
End Sub
Sub CancelVibrate
Dim r As Reflector
r.Target = r.GetContext
r.Target = r.RunMethod2("getSystemService", "vibrator", "java.lang.String")
r.RunMethod("cancel")
End Sub
感謝埃雷爾。我會嘗試你的解決方案。你計劃在下一個Basic4Android版本中添加完整的Vibrate函數嗎? – ottomano
上述方法與Android API中的完全振動方法完全相同。 – Erel
是的,我的意思是使用反射的B4A功能。 – ottomano