0

アクティビティから着信音を鳴らす次のコードがあります。30 秒間鳴り続けるには、この着信音が必要です。以下のコードからわかるように、タイマーを使用して 30 秒でこの着信音を停止します。私が抱えている問題は、30 秒間鳴り続けるのではなく、1 回鳴ってから停止することです。30秒間連続して着信音を鳴らすことができるように、誰かがこれに対する解決策を指摘できますか?

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
    final Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
    r.play();
    final Timer t = new Timer();
    t.schedule(new TimerTask() {
        public void run() {
            r.stop();
            t.cancel();
            finish();
        }
    }, 30000);

}
4

2 に答える 2

1

おそらく、onCreate後に着信音とタイマーが削除されたためです。

着信音とタイマーをアクティビティのプライベート メンバーにします。

于 2012-09-04T16:05:45.807 に答える