为什么我的通知不起作用?

时间:2014-09-18 13:17:24

标签: android notifications

我把我的代码放在这里...... 我解释我的问题.. 当我创建通知时,即使我输入特定时间使其显示,它也会立即显示给我。 那时候会自动打开,好像我按下通知一样。 你能告诉我在插入的时候我怎么能玩它吗?

感谢

import java.util.Calendar;
import java.util.StringTokenizer;
import android.app.AlarmManager;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.support.v4.app.NotificationCompat;

public class Allarm {

private Context context;

public Allarm(Context context) {
        this.context = context;
    }

    public void createAlarm(String rip,String title,String object,String dati) {


        String day= "01";
        String month= "01";
        String year= "2014";
        String hour= "00";
        String minute = "02";
String date = day+"/"+month+"/"+year+" "+hour+":"+minute; 

        Calendar myAlarmDate = Calendar.getInstance();
        myAlarmDate.setTimeInMillis(System.currentTimeMillis());
        myAlarmDate.set(Integer.valueOf(year), Integer.valueOf(month),
                Integer.valueOf(day), Integer.valueOf(hour),
                Integer.valueOf(minute), 0);

        AlarmManager alarmManager = (AlarmManager) context
                .getSystemService(Context.ALARM_SERVICE);

        Intent intent =new Intent(context, NotificationReceiverActivity.class);

        intent.putExtra("dati", dati);

        intent.setData(Uri.parse("content://"+date));

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


  NotificationManager notificationManager =(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 

        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(
                context)
                .setWhen(myAlarmDate.getTimeInMillis())
                .setContentText(object)
                .setContentTitle(title)
                .setSmallIcon(R.drawable.avvio)
                .setAutoCancel(true)
                .setTicker(title)
                .setDefaults(Notification.DEFAULT_LIGHTS| Notification.DEFAULT_VIBRATE| Notification.DEFAULT_SOUND)
                .setContentIntent(pendingIntent);


                Notification notification=notificationBuilder.build();

                alarmManager.set(AlarmManager.RTC_WAKEUP,
                myAlarmDate.getTimeInMillis(), pendingIntent);
                notificationManager.notify((int) myAlarmDate.getTimeInMillis(), notification);

    }




}

1 个答案:

答案 0 :(得分:2)

方法NotificationManager.notify(int id, Notification notification)立即发布通知。第一个参数是您指定的ID,而不是通知的显示时间。

您可以使用AlarmManager来安排通知。