2016-04-18 27 views
-1

我是新來的android開發,我想顯示每天應用程序在android關閉時推送通知。我知道我需要爲它創建服務和廣播接收器,但我不這麼做。 這裏是我的簡單推送通知的代碼,請幫助我在每天進行推送通知。我如何使推送通知顯示在每天早上在android

public class MainActivity extends Activity { 
EditText ed1,ed2,ed3; 
Notification notification; 

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

    Button b1=(Button)findViewById(R.id.button); 
    final NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    b1.setOnClickListener(new View.OnClickListener() { 
     @TargetApi(Build.VERSION_CODES.JELLY_BEAN) 
     @Override 
     public void onClick(View v) { 
    Notification.Builder builder = new Notification.Builder(MainActivity.this); 
      Intent resultIntent = new Intent(MainActivity.this,Splash.class); 
      resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
      PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, 
        resultIntent, PendingIntent.FLAG_UPDATE_CURRENT); 

      builder.setSmallIcon(R.drawable.icon) 
        .setContentIntent(pendingIntent) 
        .setContentTitle("title"); 

      notification = builder.build(); 
      manager.notify(0, notification); 
} 
    }); 
}} 

請幫助我實現警報管理器或服務所需的功能。

+2

可以使用alaram maneger日曆時間= Calendar.getInstance(); time.set(Calendar.HOUR_OF_DAY,5); alarmMgr.setRepeating(AlarmManager.RTC,time.getTimeInMillis(),AlarmManager.INTERVAL_DAY,pendingI); – saeed

+0

檢查這個答案http://stackoverflow.com/a/32305374/403255報警管理器。查看http://developer.android.com/reference/android/app/NotificationManager.html創建通知 –

回答

2

你可以在早上7:00早上

Calendar calendar = Calendar.getInstance(); 
// 7.00 (7 AM) 
calendar.set(Calendar.HOUR_OF_DAY, 7); 
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); 

使用本教程的解決方案中使用此代碼設置報警notification for a chosen time

看一看這也Fire notification at every 24 hours and at exact time of 8 AM