2016-11-07 12 views
0

を開始しませんこんにちはクラスAsynctaskとonProgressUpdateに私は、ステータスバーに通知を作成したいが、私はそう持っている:Androidの通知が

@Override 
protected void onProgressUpdate(Object[] values) { 

    this.holder.itemView.setBackgroundColor(Color.WHITE); 
    if(messaggio){ 

     PendingIntent pi = PendingIntent.getActivity(context, 0, new Intent(context, EUDroid_Main_Activity.class), 0); 
     Notification notification = new NotificationCompat.Builder(context) 
       .setTicker("Ticker") 
       .setContentTitle("Title") 
       .setContentText("Hello") 
       .setContentIntent(pi) 
       .setAutoCancel(true) 
       .build(); 

     NotificationManager notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE); 
     notificationManager.notify(0, notification); 


    } 
    super.onProgressUpdate(values); 

} 

が、通知は、なぜ主演ませんか? 通知を作成するにはどうすればよいですか?

編集は、私はそうしている:

@Override 
protected void onProgressUpdate(Object[] values) { 

    this.holder.itemView.setBackgroundColor(Color.WHITE); 
    if(messaggio){ 

     try { 
      Thread.sleep(Integer.parseInt(ritardoMessaggio)*1000); 
     } catch (InterruptedException e){ 
      e.printStackTrace(); 
     } 

     NotificationCompat.Builder notification; 
     PendingIntent pIntent; 
     NotificationManager manager; 
     Intent resultIntent; 
     TaskStackBuilder stackBuilder; 

     notification = new NotificationCompat.Builder(context); 

     notification.setContentTitle(nameFile); 

     notification.setContentText(testoMessaggio); 

     notification.setTicker("Evento EUDroid"); 

     notification.setSmallIcon(R.drawable.splash); 

     notification.setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 }); 
     notification.setLights(Color.BLUE, 500, 500); 
     Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
     notification.setSound(alarmSound); 

     //Creating new Stack Builder 
     stackBuilder = TaskStackBuilder.create(context); 
     stackBuilder.addParentStack(EUDroid_Main_Activity.class); 
     //Intent which is opened when notification is clicked 
     resultIntent = new Intent(context, EUDroid_Main_Activity.class); 
     stackBuilder.addNextIntent(resultIntent); 
     pIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT); 
     notification.setContentIntent(pIntent); 
     manager =(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
     manager.notify(0, notification.build()); 


    } 
    super.onProgressUpdate(values); 

} 

を今、私はこの問題を持っている:私は通知をreiceiveとき それはなぜ2ビープ音を生成しますか? 2つの通知を受け取る方法

+0

publishProgress()を呼び出しますか?あなたのコードをデバッグしましたか?それはnotificationManager.notifyを呼び出していますか? –

+0

@ Fra87はpublishProgress(values)を呼び出しました。 doInBackgroundで? – Raghavendra

+0

また、デバイス設定で通知が有効になっていることを確認してください。 –

答えて

0

お試しください!このコードは確実に機能します。

NotificationManager manager; 
Notification myNotication; 
    manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 

    btnShow.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 


      //API level 11 
      Intent intent = new Intent("com.example.sampad.HOMEFRAGMENT"); 

      PendingIntent pendingIntent = PendingIntent.getActivity(PushNotification.this, 1, intent, 0); 

      final Notification.Builder builder = new Notification.Builder(PushNotification.this); 



      builder.setAutoCancel(false); 
      builder.setTicker("You have got a notificatio"); 
      builder.setContentTitle("Request Approval Notification"); 
      builder.setContentText("send you a request for approval"); 
      builder.setSmallIcon(R.drawable.appicon); 
      builder.setContentIntent(pendingIntent); 
      builder.setOngoing(true); 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
       builder.setSubText("This is subtext..."); //API level 16 
      } 
      builder.setNumber(100); 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
       builder.build(); 
      } 
      /* Add Big View Specific Configuration */ 


      myNotication = builder.getNotification(); 
      manager.notify(11, myNotication); 


      /* 
      //API level 8 
      Notification myNotification8 = new Notification(R.drawable.ic_launcher, "this is ticker text 8", System.currentTimeMillis()); 

      Intent intent2 = new Intent(MainActivity.this, SecActivity.class); 
      PendingIntent pendingIntent2 = PendingIntent.getActivity(getApplicationContext(), 2, intent2, 0); 
      myNotification8.setLatestEventInfo(getApplicationContext(), "API level 8", "this is api 8 msg", pendingIntent2); 
      manager.notify(11, myNotification8); 
      */ 

     } 
    });