2013-08-03 59 views
4

的Android AlarmManager推我使用這個通知代碼的通知

package com.example.mega; 

import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 


public class TimeAlarm extends BroadcastReceiver { 

    NotificationManager nm; 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     nm = (NotificationManager) context 
      .getSystemService(Context.NOTIFICATION_SERVICE); 
     CharSequence from = "Tech"; 
     CharSequence message = "Check out our NEW COLLECTION !!"; 
     PendingIntent contentIntent = PendingIntent.getActivity(context, 0, 
      new Intent(), 0); 
     Notification notif = new Notification(R.drawable.icon, 
      "Check out our NEW COLLECTION !!" , System.currentTimeMillis()); 
     notif.setLatestEventInfo(context, from, message, contentIntent); 
     nm.notify(1, notif); 
    } 
} 

正如你看到的,我還沒有添加AlarmManager因爲我使用它沒有經驗,我是新來android.What我要補充要每隔24小時顯示通知的代碼?

回答

4
Calendar calendar = Calendar.getInstance(); 
// 8.00 (8 AM) 
calendar.set(Calendar.HOUR_OF_DAY, 8); 
calendar.set(Calendar.MINUTE, 0); 
calendar.set(Calendar.SECOND, 0); 

PendingIntent pi = PendingIntent.getService(context, 0 , new Intent(context, Your_Class.class),PendingIntent.FLAG_UPDATE_CURRENT); 
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); 
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 
          AlarmManager.INTERVAL_DAY, pi); 

此報警臺每天在上午8

或者您可以使用https://github.com/commonsguy/cwac-wakeful。看看鏈接上的文檔。

看看這個:Fire notification at every 24 hours and at exact time of 8 AM

這:http://blog.blundellapps.com/notification-for-a-user-chosen-time/