Android:如何通过单击按钮在活动中使用 ringtone.stop

问题描述

我有 Mybroadcastreceiver,当播放 rintone 时,会显示 stopAlarm.java 页面 如果按下按钮,我想使用停止铃声。如何在我的 stopAlarm.java 中使用 r.stop()

public class MybroadcastReceiver extends broadcastReceiver {
    public static final String NOTIFICATION_CHANNEL_ID = "10001" ;
    private final static String default_notification_channel_id = "default" ;


    @Override
    public void onReceive(Context context,Intent intent) {
    Uri notificationsound = ringtoneManager.getDefaultUri(ringtoneManager.TYPE_ringtone);
        ringtone r = ringtoneManager.getringtone(context,notificationsound);
        r.play();
        Intent i = new Intent(context,stopAlarm.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);


    }

}

公共类 stopAlarm 扩展 AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_stop_alarm);
    Button stop = (Button)findViewById(R.id.stopAlarm);
    stop.setonClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //////////How can I get r
        }
    });

}

}

解决方法

public class stopAlarm extends AppCompatActivity {

Ringtone r;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_stop_alarm);
    Button stop = (Button)findViewById(R.id.stopAlarm);
    stop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            r.stop();
        }
    });

}