我正在用java在andriod studio上制作一个警报应用程序。
我试图在activity\u main.xml上弹出一个对话框(alarm\u dialog.xml),而此时正是之前设置的时间。当我运行我的应用程序,它的工作,我可以设置我的应用程序的时间。当它是以前设置的时间,音量会变为最大(我本来打算的),但报警对话框永远不会弹出活动主。我想我在使用“layoutinflater”时出错了,但我找不到错误所在。。。。
有人能告诉我为什么活动主屏幕上没有弹出报警对话框来结束报警吗?如果有人能帮我解决这个问题,我将不胜感激!提前谢谢。
↓音乐服务.java
public class MusicService extends Service {
AlarmReceiver alarmReceiver = null;
View view;
...
public void onCreate() {
super.onCreate();
AlarmManager alarmManager = new AlarmManager(this).getInstance();
alarmReceiver = new AlarmReceiver();
registerReceiver(alarmReceiver, filter);
alarmManager.setAlarmService(this);
LayoutInflater inflater = LayoutInflater.from(this);
view = inflater.inflate(R.layout.alarm_dialog, null, false);
view.findViewById(R.id.endAlarm).setOnClickListener(view1 -> alarmManager.onDestroy());
alarmManager.addView(view);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel notificationChannel = new NotificationChannel("alarm", "helper", NotificationManager.IMPORTANCE_DEFAULT);
notificationManager.createNotificationChannel(notificationChannel);
}
Notification notification = new Notification.Builder(this, "alarm").setContentTitle("The app is already running.").setSmallIcon(R.mipmap.ic_launcher).build();
startForeground(1, notification);
}
}
↓报警对话框.xml
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/endAlarm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/black"
android:text="End Alarm"
android:textColor="@android:color/white"
android:textSize="20sp" />
暂无答案!
目前还没有任何答案,快来回答吧!