我创建了一个在指定时间发出警报的应用程序。 但我也想向它发送带有预定义文本的通知。
这当前包含在Mainactivity.java中:
package com.example.reminder;
import androidx.appcompat.app.AppCompatactivity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.Calendar;
public class Mainactivity extends AppCompatactivity {
TimePicker timePicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timePicker=(TimePicker) findViewById(R.id.timePicker);
timePicker.setIs24HourView(true);
findViewById(R.id.buttonSetalarm).setOnClicklistener(new View.OnClicklistener() {
@Override
public void onClick(View view) {
Calendar calendar = Calendar.getInstance();
if(Build.VERSION.SDK_INT > 23) {
calendar.set(
calendar.get(Calendar.YEAR),calendar.get(calendar.MONTH),calendar.get(calendar.DAY_OF_MONTH),timePicker.getHour(),timePicker.getMinute(),0
);
}else {
calendar.set(
calendar.get(Calendar.YEAR),timePicker.getcurrentHour(),timePicker.getcurrentMinute(),0
);
}
setalarm(calendar.getTimeInmillis());
}
});
}
private void setalarm(long timeInmillis) {
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this,MyAlarm.class);
PendingIntent pendingIntent= PendingIntent.getBroadcast(this,intent,0);
alarmManager.setRepeating(AlarmManager.RTC,timeInmillis,AlarmManager.INTERVAL_DAY,pendingIntent);
Toast.makeText(this,"Emlekezteto beallitva",Toast.LENGTH_SHORT).show();
}
我该如何编写以发送带有预定义文本的通知并使用声音?
当前,我在一个单独的类(MyAlarm)中编写了使用系统铃声的信息。 MyAlarm.java:
package com.example.reminder;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.provider.Settings;
public class MyAlarm extends BroadcastReceiver {
@Override
public void onReceive(Context context,Intent intent) {
MediaPlayer mediaPlayer = MediaPlayer.create(context,Settings.System.DEFAULT_RINGTONE_URI);
mediaPlayer.start();
}
}
有人可以帮我吗?
谢谢。