2017-10-08 8 views
1

デフォルトの着信音が時間通りに再生されているため、アラームコードが正常に機能しています。しかし、アラーム音を止めることはできません。レシーバクラスでは、次のコードを挿入しました。アンドロイドスタジオで実際にアラームトーンを停止する方法

try { 
     Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); 
     Ringtone r = RingtoneManager.getRingtone(context, notification); 
     r.play(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

私はまた、コード

alarmMgr.cancel(pendingIntent); 

とうまく働いしかし、デフォルトの着信音いったん再生を開始し、ユーザが停止することで、これを停止するメインクラスのアラームを、取り消すためのコードを挿入しましたボタンを押しても機能しません。 私は、次のコード

Intent intent = new Intent(getBaseContext(), Reciver.class); 
stopService(intent); 

を挿入stopbutton.setOnClickListenerメインクラスで私はそれが(r.stopによって止めることができると思います)。 停止ボタンでどのように使用すればよいですか?

+0

私が間違っていない場合は、自分のUIに停止ボタンを押しても機能しません。そうですか? – QuokMoon

+0

メインレイアウトに3つのボタンがメインクラスで接続されています。開始ボタンは、アラームマネージャを呼び出し、レシーバクラスを起動します(r.playはこのクラスにあります)。キャンセルボタンアラームをキャンセルします。 3番目のボタンが停止ボタンになりました。 – Nim

答えて

0

Ringtoneのグローバルインスタンスを作成し、ボタンをクリックして使用r.stop()このlinkを使用して、運用中の操作を実行します。質問を正しく理解すれば教えてください。

+0

あなたの提案通りにコーディングを行いました。ありがとう、たくさんの兄弟。 – Nim

+0

もしそれが助けてくださいupvoteしてください、それは他の人にも役立つでしょう –

+0

それを行うには?上の矢印を選ぶべきですか? – Nim

0

アラームをスケジュールするときに登録された放送意図が、キャンセルを確実にするために、キャンセルイベントをシステムに登録する別のインテントを登録する必要があります。

キャンセルイベント中に正常に動作するコードを見てください。

関連する問題