2016-05-04 10 views
0

Ich habe eine Benachrichtigung erstellt und es wird nur nicht angezeigt. Mein Code in der Hauptaktivität: `boolean alarm = (PendingIntent.getBroadcast (diese, 0, neue Absicht (" ALARM "), PendingIntent.FLAG_NO_CREATE) == null);Benachrichtigung funktioniert nicht

if(alarm){ 
     Intent itAlarm = new Intent("ALARM"); 
     PendingIntent pendingIntent = PendingIntent.getBroadcast(this,0,itAlarm,0); 
     Calendar calendar = Calendar.getInstance(); 
     calendar.setTimeInMillis(System.currentTimeMillis()); 
     calendar.add(Calendar.SECOND, 3); 
     AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 
     AlarmManager alarme = (AlarmManager) getSystemService(ALARM_SERVICE); 
     alarme.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),60000, pendingIntent); 
    } 

mein Code in den Broadcast-Reciver:

public class BroadcastManager extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 
    try { 
     String yourDate = "04/05/2016"; 
     String yourHour = "13:07:00"; 
     Date d = new Date(); 
     DateFormat date = new SimpleDateFormat("dd/MM/yyyy"); 
     DateFormat hour = new SimpleDateFormat("HH:mm:ss"); 
     if (date.equals(yourDate) && hour.equals(yourHour)){ 
      Intent it = new Intent(context, MainActivity.class); 
      createNotification(context, it, "new mensage", "body!", "this is a mensage"); 
     } 
    }catch (Exception e){ 
     Log.i("date","error == "+e.getMessage()); 
    } 
} 


public void createNotification(Context context, Intent intent, CharSequence ticker, CharSequence title, CharSequence descricao){ 
    NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
    PendingIntent p = PendingIntent.getActivity(context, 0, intent, 0); 

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context); 
    builder.setTicker(ticker); 
    builder.setContentTitle(title); 
    builder.setContentText(descricao); 
    builder.setSmallIcon(R.drawable.web_hi_res_512); 
    builder.setContentIntent(p); 
    Notification n = builder.build(); 
    //create the notification 
    n.vibrate = new long[]{150, 300, 150, 400}; 
    n.flags = Notification.FLAG_AUTO_CANCEL; 
    nm.notify(R.drawable.web_hi_res_512, n); 
    //create a vibration 
    try{ 

     Uri som = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
     Ringtone toque = RingtoneManager.getRingtone(context, som); 
     toque.play(); 
    } 
    catch(Exception e){} 
} 

}

+0

was die Log-Katze sagen? –

Antwort

0
Above code will start alarm service on every 3 seconds and repeat on every 1 minute. If you want to generate notification on specific time then, You have to add, 

calendar.add(Calendar.HOUR, 13); 
calendar.add(Calendar.MINUTES, 07); 
calendar.add(Calendar.SECONDS, 00); 

and remove this line, 

calendar.add(Calendar.SECOND, 3); 

I hope it may work for you. 
+0

Danke für die Antwort, aber es funktioniert nicht :( –

Verwandte Themen