0

Android 7+搭載のデバイスでのみ振動を有効にする必要があります。以前のバージョンでは、我々は、単に行うことができます:android.permission.VIBRATEが設定されているAndroid 7+の振動を有効にする方法

AudioManager aManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 
aManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE); 

許可。

Android 7以降でどうすればいいですか?

+0

のようなコードこの

マニフェスト

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

に権限を追加してみてください多分それは実行時のアクセス許可を取る必要があります確認してください。 –

答えて

0

私は振動のためにあなたのコードを使用することはありませんが、私は以下の私のコードは、Android 7+のために働くと思います(テストしていません)

試してみてください。

import android.os.Vibrator; 

[...] 

Vibrator v = (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE); 
// Vibrate for 500 milliseconds 
v.vibrate(500); 

注:どうかをチェックすることをお勧めします、より詳細な説明については

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

リアム・ジオによってprecisely answer以上に見てみましょう:あなたのデバイスが振動することができますrge Betsworth

希望すると助かります!

+0

私のアプリケーションからデバイスを振動させたくありません。メインデバイスの設定で振動を有効/無効にしたい。オン、オフ、または振動のような音。 – egmontr

0

Android 7では、設定パラメータを切り替えるためにデバイス設定を変更する権限が必要です。 「App Info」にこの権限を与えるオプションが表示されます。

あなたが名前の別のリスト項目に気づくでしょう、

Modify System Settings

Modify system settings

、あなたがそれをクリックすると、あなたが許可を与えたりしないように求められます。

デフォルトでは、このパラメータはNoに設定されています。これを変更すれば、コードは完全に機能します。

それとも、デフォルトでアクセスを提供するために、

を許可、

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>を追加することができます。

こちらがお役に立てば幸いです。このオプションは、使用しているROMによっても異なります。

0

import android.os.Vibrator; 
    ........... 

    Vibrator viber= (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE); 
    viber.vibrate(500); //("time in milliseconds") 
+0

私は振動を起こしたくありません。メインデバイスの設定で振動を有効/無効にしたい。オン、オフ、または振動のような音。 – egmontr

+0

'aManager.setRingerMode(1)'これを試してください –

関連する問題