问题描述
我有 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();
}
});
}