2014-09-18 5 views
0

여기에 내 코드를 넣어 ... 내 문제를 설명합니다 ... 알림을 만들 때 즉시 나타나는 특정 시간을 입력해도 즉시 나타납니다. 그 때 대신 알림을 누를 때 자동으로 열립니다. 내가 삽입 한 시간에 어떻게 재생할 수 있는지 말해 줄 수 있습니까?왜 내 알림이 작동하지 않습니까?

감사

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); 

    } 




} 
+0

plz 간략하게 설명 하시겠습니까? – Developer

답변

2

방법 NotificationManager.notify(int id, Notification notification) 게시물 즉시 통지. 첫 번째 인수는 사용자가 지정한 ID이며 알림을 표시해야하는 시간은 아닙니다.

AlarmManager을 사용하여 알림을 예약 할 수 있습니다.

+0

감사합니다. 어떻게 alarmManager를 사용할 수 있습니까? 나는 성공하지 않으려 고 노력했다. –

관련 문제