android - 每天重复通知 12h

标签 android alarmmanager android-notifications

我想每天中午 12 点重复我的通知,但我的代码无法正常工作... 我在 OnCreate 的 MainActivity 中启动我的警报管理器,如下所示:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ma);

    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY, 12);
    calendar.set(Calendar.MINUTE, 00);
    calendar.set(Calendar.SECOND, 0);
    Intent intent1 = new Intent(MainActivity.this, AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0,intent1, PendingIntent.FLAG_UPDATE_CURRENT);
    AlarmManager am = (AlarmManager) MainActivity.this.getSystemService(MainActivity.this.ALARM_SERVICE);
    am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);

还有我的 AlarmReceiver 类:

public class AlarmReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub

    long when = System.currentTimeMillis();
    NotificationManager notificationManager = (NotificationManager) context
            .getSystemService(Context.NOTIFICATION_SERVICE);

    Intent notificationIntent = new Intent(context, MainActivity.class);
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
            notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);


    Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

    NotificationCompat.Builder mNotifyBuilder = new NotificationCompat.Builder(
            context).setSmallIcon(R.drawable.photo)
            .setContentTitle("ça marche fdp")
            .setContentText("Et ouai t'as bien réussi à afficher une notification bordel de cul").setSound(alarmSound)
            .setAutoCancel(true).setWhen(when)
            .setContentIntent(pendingIntent)
            .setVibrate(new long[]{1000, 1000, 1000, 1000, 1000});
    notificationManager.notify(0, mNotifyBuilder.build());



}

你知道问题出在哪里吗?请不要不喜欢我只是想学习代码:(

最佳答案

更新您的 list 文件,使您的接收器具有以下参数:

<receiver
        android:name="com.example.alarmmanagernotifcation.AlarmRecei‌​ver"
        android:enabled="true"
        android:process=":remote" />

那么我认为问题可能出在您选择的图标上:

.setSmallIcon(R.drawable.photo)

如果图像不兼容,那么您将不会在应用程序外部看到崩溃,如果手机已插入,它只会在 android 显示器内部显示致命异常,因此它不会被注意到并且不会收到通知解雇了。

所使用的 drawable 需要针对不同的电话密度具有不同的尺寸。要制作正确的可绘制对象,请右键单击您的 drawable 包并执行新建 -> 图像资源。从下拉菜单中选择 Notification Icons,并使用它来为图标生成所有不同的大小。

关于android - 每天重复通知 12h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41643743/

相关文章:

android - cancelAll() 和 cancel() 不会忽略我的通知

java - 将通知点击数据发送到子 Activity

Android:状态栏中的多个通知作为单个列表

android - 分页库未向我的 PagedListAdapter 发送任何数据

java - 菜单抽屉 Fragments 即使未显示也会膨胀其菜单

android - 每天在特定时间设置重复闹钟

java - 使用警报管理器广播数据

java - TextView中的长文本使布局得到 'Out of Scope'

android - 当 Android 应用收到 ANR 或崩溃报告时自动通知

android - AlarmManager Android 每天上午10点触发闹钟