TL; DR:メインアクティビティでFirebase Messaging Serviceで有効になっている振動を、どのようにオフにすることができますか?メインアクティビティからFirebase Messaging Serviceのメソッドを呼び出す
私はFirebaseからプッシュ通知を受け取るアプリを作成しています。これらのプッシュ通知は、ラズベリーパイに接続されたPIRモーションセンサーによって生成されます。
このアプリの目的は、PIRが動きを検出すると、自分の携帯電話でアラームが始まることです。 (今は私の電話の振動によって実現されたこのアラーム)。
これまでのところ私のFirebase Messaging Service内で行われていた振動アラームが開始され、アプリケーションのボタンをクリックしてアラームを終了できるようにしたいと考えています。
「クラシック」Javaプログラミングについて私は、主なアクティビティからFirebaseサービスで使用されるVibratorオブジェクトにアクセスする必要があります。しかし、私はこれをどのようにすることができますか?私はバインダーでそれをやろうとしましたが、FirebaseMessagingServiceのonBind()メソッドがfinalでオーバーライドできないために動作しませんでした。
私の現在のコードはここで見ることができ:
public class FcmMessagingService extends FirebaseMessagingService {
Vibrator alarmVibrator;
@Override
public void onCreate() {
super.onCreate();
alarmVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if (remoteMessage.getData().get("Alarm").equals("1")){
Log.d("alarm","on");
alarmVibrator.vibrate(10000);
}else{
Log.d("alarm","off");
alarmVibrator.cancel();
}
}
このコードは(何らかの理由でオフにする一部のdosen't作業のために、私は、後に見えるかもしれません、問題のthats)振動をオンにするために動作します