2011-10-16 4 views

답변

1

당신이 코드 (전화 라이브러리와 반사 라이브러리가 필요)를 사용할 수 있습니다 :

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 
+0

감사 Erel을. 나는 당신의 해결책을 시도 할 것입니다. Basic4Android의 다음 버전에 전체 진동 기능을 추가 할 계획입니까? – ottomano

+0

위의 방법은 Android API에서 사용할 수있는 전체 진동 방법과 정확히 같습니다. – Erel

+0

예, Reflection을 사용하는 B4A 기능을 의미합니다. – ottomano