2016-05-02 28 views
0

我一直trought所有的告警管理代碼,但我不設法看到我的錯誤是報警經理通知點擊之後不排除

我想archieve是這樣的,當我打開該應用程序後執行代碼在主和設置鬧鐘管理器計時器彈出通知,但是當我關閉應用程序,並等待彈出窗口出現不顯示,但當我再次開始應用程序通知出現

當我點擊任務欄中的通知它dosnt disapear它將我發送到我的主要活動,那沒關係,但任務欄中的通知不會破壞:(

這裏是我的代碼

import android.app.AlarmManager; 
import android.app.PendingIntent; 
import android.content.Intent; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.view.Menu; 
import android.view.MenuItem; 

import java.util.Calendar; 

public class MainActivity extends AppCompatActivity { 

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




     Calendar calendar = Calendar.getInstance(); 

     calendar.set(Calendar.HOUR_OF_DAY,1); 
     calendar.set(Calendar.MINUTE,12); 
     calendar.set(Calendar.SECOND, 0); 

     Intent intent = new Intent(getApplicationContext(),Notification_reciever.class); 

     PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

     AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
     alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY,pendingIntent); 




    } 

} 

這裏是我的通知reciever

import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.support.v4.app.NotificationCompat; 

/** 
* Created by Usuario on 01/05/2016. 
*/ 
public class Notification_reciever extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 

     Intent repeating_intent = new Intent(context,MainActivity.class); 
     repeating_intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

     PendingIntent pendingIntent = PendingIntent.getActivity(context,100,repeating_intent,PendingIntent.FLAG_UPDATE_CURRENT); 

     NotificationCompat.Builder builder = new NotificationCompat.Builder(context) 
       .setContentIntent(pendingIntent) 
       .setSmallIcon(android.R.drawable.arrow_up_float) 
       .setContentTitle("GIOTON") 
       .setContentText("Prueba de notificaciones") 
       .setAutoCancel(true); 

     notificationManager.notify(100,builder.build()); 



    } 
} 
+0

它有點像,當我有在第二平面中後臺執行該應用顯示的通知在我設置的時候,但是當我完全關閉應用程序時,我沒有看到通知,所以我需要讓應用程序在後臺打開並運行,並且我希望通知在應用程序完全關閉時顯示或甚至不顯示打開 – gioton

回答

0

使用廣播接收機駁回標識的通知。

意圖startIntent =新意圖(上下文, NotificationClickReciever.class); 在創建意圖時使用通知點擊接收器。

下面代碼駁回通知 -

公共靜態無效cancelNotification(上下文CTX,INT notifyId){

String s = Context.NOTIFICATION_SERVICE; 

    NotificationManager mNM = (NotificationManager) ctx.getSystemService(s); 
    mNM.cancel(notifyId); 
enter code here 
}