2017-01-03 20 views
1

NotificationCompat.Builder私はnotificationを呼び出す方法にmainactivityoncreate方法における法と呼ばれているが、アプリは MainActivityoncreate方法通知を使用して表示されていません。

 protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     recyclerView = (RecyclerView) findViewById(R.id.view); 

     getOverflowMenu(); 
     Decision.notify_user(getApplicationContext());} 

意思決定を開始したときに通知が配信されません。 java

public class Decision { 
    public final static String YES="Done"; 
    public final static String NO="SORRY"; 
    public final static int NOTIFICATIN_ID=1568; 

    public static void notify_user(Context context) 
    { 
     NotificationCompat.Builder builder=new NotificationCompat.Builder(context) 
       .setColor(ContextCompat.getColor(context, R.color.colorPrimaryDark)) 
       .setContentTitle("Have you done it") 
       .setContentText("Make sure you do it") 
       .setStyle(new NotificationCompat.BigTextStyle().bigText("done")) 
       .setContentIntent(contentIntent(context)) 
       .addAction(decided_yes(context)).addAction(decided_no(context)); 

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
      builder.setPriority(Notification.PRIORITY_HIGH); 
     } 
     NotificationManager notificationManager=(NotificationManager)context.getSystemService(context.NOTIFICATION_SERVICE); 
     notificationManager.notify(NOTIFICATIN_ID,builder.build()); 

    } 

    public static PendingIntent contentIntent(Context context) 
    { 
     Intent intent=new Intent(context,MainActivity.class); 
     return PendingIntent.getActivity(context,123,intent,PendingIntent.FLAG_UPDATE_CURRENT); 
    } 

    public static NotificationCompat.Action decided_yes(Context context) 
    { 
     Intent intent=new Intent(context,MainActivity.class); 
     intent.setAction(YES); 
     PendingIntent pendingIntent=PendingIntent.getActivity(context,19848,intent,PendingIntent.FLAG_UPDATE_CURRENT); 
     NotificationCompat.Action action=new NotificationCompat.Action(R.mipmap.ic_launcher,"Yes",pendingIntent); 
     return action; 
    } 

    public static NotificationCompat.Action decided_no(Context context) 
    { 
     Intent intent=new Intent(context,MainActivity.class); 
     intent.setAction(NO); 
     PendingIntent pendingIntent=PendingIntent.getActivity(context,1948,intent,PendingIntent.FLAG_UPDATE_CURRENT); 
     NotificationCompat.Action action=new NotificationCompat.Action(R.mipmap.ic_launcher,"no",pendingIntent); 
     return action; 
    } 
} 
+0

アイコン '.setContentTextを設定してみてください(「あなたを確認してくださいと、いくつかのiconを設定する必要がありますそれを行う ")。setSmallIcon(R.drawable.yourIconID); ....' –

+1

Alright ..thanks –

答えて

1

小さなアイコンを置いています。

.setSmallIcon(R.drawable.my_icon) 
3

はあなたのNotification.Buildericonなくても通知が生成されますが、ステータスバーに表示されませんので

NotificationCompat.Builder builder=new NotificationCompat.Builder(context) 
      .setColor(ContextCompat.getColor(context, R.color.colorPrimaryDark)) 
      .setContentTitle("Have you done it") 
      .setContentText("Make sure you do it") 
      .setSmallIcon(R.drawable.yourIconID) 
      .setStyle(new NotificationCompat.BigTextStyle().bigText("done")) 
      .setContentIntent(contentIntent(context)) 
      .addAction(decided_yes(context)).addAction(decided_no(context)); 
関連する問題