【发布时间】:2017-01-03 11:05:49
【问题描述】:
我已将mainactivity 的oncreate 方法中的一个方法调用为调用notification 的方法,但应用启动时未发送通知
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());}
Decision.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;
}
}
【问题讨论】:
-
尝试设置图标
.setContentText("Make sure you do it").setSmallIcon(R.drawable.yourIconID);....
标签: java android notifications