Skip to content

Commit c51773e

Browse files
Creating Notification
1 parent 215c610 commit c51773e

File tree

3 files changed

+32
-51
lines changed

3 files changed

+32
-51
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
android:supportsRtl="true"
1313
android:theme="@style/Theme.SmartAlarm"
1414
tools:targetApi="31">
15-
<activity
16-
android:name=".Alarm_Receiver.AlarmReceiver"
17-
android:exported="false" />
1815
<activity
1916
android:name=".EditAlarm"
2017
android:exported="true" />
Lines changed: 32 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,41 @@
11
package it.ezzie.smartalarm.Alarm_Receiver;
22

3-
import android.media.MediaPlayer;
4-
import android.os.Bundle;
5-
import android.os.Vibrator;
3+
import android.app.NotificationChannel;
4+
import android.app.NotificationManager;
5+
import android.content.BroadcastReceiver;
6+
import android.content.Context;
7+
import android.content.Intent;
8+
import android.net.Uri;
69

7-
import androidx.activity.EdgeToEdge;
8-
import androidx.appcompat.app.AppCompatActivity;
9-
import androidx.core.graphics.Insets;
10-
import androidx.core.view.ViewCompat;
11-
import androidx.core.view.WindowInsetsCompat;
10+
import androidx.core.app.NotificationCompat;
1211

1312
import it.ezzie.smartalarm.R;
14-
import it.ezzie.smartalarm.databinding.ActivityAlarmReceiverBinding;
1513

16-
public class AlarmReceiver extends AppCompatActivity {
17-
private ActivityAlarmReceiverBinding binding;
18-
private MediaPlayer mediaPlayer;
19-
private Vibrator vibrator;
14+
public class AlarmReceiver extends BroadcastReceiver {
2015
@Override
21-
protected void onCreate(Bundle savedInstanceState) {
22-
super.onCreate(savedInstanceState);
23-
EdgeToEdge.enable(this);
24-
binding = ActivityAlarmReceiverBinding.inflate(getLayoutInflater());
25-
setContentView(binding.getRoot());
26-
initMedia();
16+
public void onReceive(Context context, Intent intent) {
17+
String alarmLabel;
18+
if(intent.getStringExtra("alarmLabel") == null){
19+
alarmLabel = "Alarm is ringing";
20+
}else{
21+
alarmLabel = intent.getStringExtra("alarmLabel");
22+
}
23+
createChannel(context, alarmLabel);
2724
}
28-
29-
private void initMedia() {
30-
mediaPlayer = MediaPlayer.create(this, R.raw.playing_god);
31-
mediaPlayer.start();
32-
33-
Thread thread = new Thread(new Runnable() {
34-
@Override
35-
public void run() {
36-
try {
37-
Thread.sleep(5000);
38-
} catch (InterruptedException e) {
39-
throw new RuntimeException(e);
40-
}
41-
finally {
42-
mediaPlayer.stop();
43-
}
44-
}
45-
});
25+
private void createChannel(Context context , String alarmLabel){
26+
String channelId = "alarm_channel";
27+
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
28+
//Create Ringtone
29+
Uri ringtoneUri = Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.playing_god);
30+
//Creating Notification Channel
31+
NotificationChannel notificationChannel = new NotificationChannel(channelId,"Alarm Notification", NotificationManager.IMPORTANCE_HIGH);
32+
notificationChannel.setSound(ringtoneUri,null);
33+
//Creating Notification Manager
34+
NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
35+
notificationManager.createNotificationChannel(notificationChannel);
36+
//Creating Notification Builder
37+
NotificationCompat.Builder builder = new NotificationCompat.Builder(context,channelId)
38+
.
39+
}
4640
}
47-
}
41+
}

app/src/main/res/layout/activity_alarm_receiver.xml

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)