2014-11-07 1 views
1

설정. 버튼을 클릭 할 때 휴대 전화를 진동시키고 싶습니다. 코드 SO question: How to make an Android device vibrate?을 사용합니다. Android : 올바른 진동 코드를 무시합니다.

코드

는 휴대 전화가 진동하도록하려면 :

@Override 
public void onClick (View view) 
{ 
    Vibrator vibrator = (Vibrator) MyActivity.this.getSystemService (Context.VIBRATOR_SERVICE); 

    if (vibrator.hasVibrator()) { 
     Log.v ("Can Vibrate", "YES"); 
    } else { 
     Log.v("Can Vibrate", "NO"); 
    } 
     vibrator.vibrate (1000); 
    } 

는 또한 권한 매니페스트 파일에

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

을 추가했다.

문제. 버튼을 클릭 할 때 전화가 전혀 진동하지 않습니다. 내 휴대 전화에있는 다른 앱으로 인해 진동이 발생합니다.

로그 메시지.

xxxx V/Can Vibrate﹕ YES 
xxxx V/Vibrator﹕ Called vibrate(long) API - PUID: 10060, PackageName: de.creamin.vibratetest 
xxxx V/Vibrator﹕ vibrate - PUID: 10060, PackageName: de.creamin.vibratetest, ms: 1000, mag: -1 

전화. 삼성 갤럭시 S3 (GT-I9300), Android 4.3

질문. 여기 무슨 일 이니? 진동 코드를 받아들이도록 휴대폰을 구성해야합니까?

답변

3

휴대 전화가 진동하지 않는 이유를 발견했습니다.

phone settings > My device > Sound > Vibration intensity

메뉴 항목 아래에는 Incoming call, NotificationHaptic feedback의 진동 강도를 조절할 수 있습니다. Notification의 설정이 0으로 설정되었습니다. 따라서 내 전화기가 진동하지 않았습니다. 슬라이더를 0보다 큰 값으로 설정하면 내 앱의 버튼을 클릭 할 때 휴대 전화가 진동합니다.

0

MyActivity를 전달할 필요가 없습니다. 시도해보십시오 :

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE) 
+0

나는 행동을 변화시키지 않고 시도했다. 전화기가 여전히 진동하지 않습니다. – LaDude