Add vibration when ringing
This commit is contained in:
parent
c58fd719b3
commit
884996ca71
|
@ -13,6 +13,8 @@
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||||
|
|
||||||
|
<uses-permission android:name="android.permission.VIBRATE" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||||
|
|
|
@ -3,11 +3,14 @@ package com.xfarrow.locatemydevice;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.content.Context;
|
||||||
import android.media.Ringtone;
|
import android.media.Ringtone;
|
||||||
import android.media.RingtoneManager;
|
import android.media.RingtoneManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.VibrationEffect;
|
||||||
|
import android.os.Vibrator;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
@ -15,7 +18,7 @@ import android.widget.Button;
|
||||||
public class RingerActivity extends AppCompatActivity {
|
public class RingerActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private Ringtone ringtoneManager;
|
private Ringtone ringtoneManager;
|
||||||
|
private Vibrator v;
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
@ -56,10 +59,27 @@ public class RingerActivity extends AppCompatActivity {
|
||||||
ringtoneManager = RingtoneManager.getRingtone(this, ringtone);
|
ringtoneManager = RingtoneManager.getRingtone(this, ringtone);
|
||||||
ringtoneManager.setVolume(1f);
|
ringtoneManager.setVolume(1f);
|
||||||
ringtoneManager.play();
|
ringtoneManager.play();
|
||||||
|
|
||||||
|
v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
|
||||||
|
|
||||||
|
// Start without a delay
|
||||||
|
// Vibrate for 500 milliseconds
|
||||||
|
// Sleep for 500 milliseconds
|
||||||
|
long[] pattern = {0, 500, 500};
|
||||||
|
// The '0' here means to repeat indefinitely
|
||||||
|
// '0' is actually the index at which the pattern keeps repeating from (the start)
|
||||||
|
// To repeat the pattern from any other point, you could increase the index, e.g. '1'
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
v.vibrate(VibrationEffect.createWaveform(pattern, 0));
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
v.vibrate(pattern,0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void stopRinging(){
|
private void stopRinging(){
|
||||||
ringtoneManager.stop();
|
ringtoneManager.stop();
|
||||||
|
v.cancel();
|
||||||
finishAffinity();
|
finishAffinity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue