2 a460670026 a460670026 于 2016.03.23 15:05 提问

关于Android中Notification问题

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  Button bt1=(Button) findViewById(R.id.button1);
  bt1.setOnClickListener(new View.OnClickListener() {


    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        //通知消息与Intent关联 
        Intent i=new Intent(MainActivity.this, NotifiedActivity.class);
        PendingIntent pi=PendingIntent.getActivity(MainActivity.this, 0, i, 0);

        Notification mynNotification=new Notification();  //定义notification  
        mynNotification.icon=R.drawable.gender;
        mynNotification.tickerText=getResources().getString(R.string.notification);
        mynNotification.defaults=Notification.DEFAULT_SOUND;

         //具体的通知内容  
        mynNotification.setLatestEventInfo(MainActivity.this, "示例", "点击查看",pi);

        //从系统服务中获得通知管理器
        NotificationManager nm=(NotificationManager)MainActivity.this.getSystemService(Context.NOTIFICATION_SERVICE);

        //执行通知 
        nm.notify(0, mynNotification);



    }
});
}

}

//就是我想点击按钮之后在状态栏出现通知,然后点击通知会跳转另一个页面,但就是跳不过去。 求大神支招。
//mynNotification.setLatestEventInfo(MainActivity.this, "示例", "点击查看",pi);
//上面这句代码出现警告The method setLatestEventInfo(Context, CharSequence, CharSequence, PendingIntent) from the type Notification is deprecated

2个回答

u011249920
u011249920   2016.03.23 15:19
已采纳

setLatestEventInfo方法已经被deprecate啦,不建议使用,使用Notification.Builder即可。

a460670026
a460670026 搞定了,谢谢
2 年多之前 回复
a460670026
a460670026 就修改这个对象方法,其他写法改动大吗?
2 年多之前 回复
lxk_1993
lxk_1993   Rxr 2016.03.23 18:30

那个不能用了 你用RemoteViews

像这样

Notification n = new Notification();
n.icon = R.drawable.message;
n.tickerText = "你的好友给你发来一条消息";
n.when = System.currentTimeMillis();
n.defaults = Notification.DEFAULT_SOUND;
n.flags = Notification.FLAG_AUTO_CANCEL;
Intent intent1 = new Intent(MainActivity.this, ShowActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 110, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.test);
remoteViews.setTextViewText(R.id.text, "在不在?");
remoteViews.setImageViewResource(R.id.img, R.drawable.wallet);
remoteViews.setOnClickPendingIntent(R.id.text, pi);
n.contentView = remoteViews;
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(110, n);

a460670026
a460670026 搞定了,谢谢
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于android的Notification的若干问题
毕业工作已经快半年了,打算在2016年开始总结自己平时在工作终于到的android方面的问题。今年遇到的第一个问题就是关于android的通知栏的问题。 在创建Notification的时候,总共有三种不同的方式。 (1)普遍的创建方式(通用)setLatestEventInfo(Context,”“,content,pendingIntent); (2)在API11以后的创建方式。Notif
notification问题
notification问题,供连接使用
关于Android Notification不出现的解决方法
1.检查Notification或Builder对象是否设置icon。 2.尝试用builder.build()替换builder.getNotification()
Notification
疯狂Android中有关Notification的简单例子
notification
notification
Notification icon问题
Notification图标设置问题 只设置Notification.icon的话,状态栏和拉开状态栏后的显示区域都使用这个值。 只设置contentView,不设置Notification.icon或者Notification.ticker的话,状态栏不显示一开始的滚动信息 既设置Notification.icon又设置contentView的话,状态栏显示Notification.ico
Notification大图标修改问题种种
android的通知notification的图标设置只能是Int值,也就是通过resource的方式。不过新版本增加了几个方法,可以drawable等方式设置大图标了,但是旧版本还是不支持。那怎么办?      网上有高人给出了一个方法,循环获取view判断是否为Imageview,提取出来直接用Imageview的set相关方法来搞。很霸气!!又学会了一招,不过实现过程中确实各种问题。
在notification中使用remoteview遇到的问题
在notification中使用remoteview时,机器会很卡,很热。。原因是每次使用remoteview的时候都要重新new一个实例,如果重用的话就会有问题,这里有解答:stackoverflow//初始化通知栏public Notification initNotofi() {int icon = R.drawable.log_48;long when = System.currentTi
魅族 Notification 遇到的奇葩问题
推送集成碰到恶心问题,早上还好好的下午日志是正常的,通知栏死活弹不出来,各种排查,收消息,解析,创建通知栏。最后问题定位到Notification 的context上面。通知栏这样创建的:NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setContentT
Android Notification学习--发出Notification
最近工作大部分在围绕通知这一块,那么就把通知好好学习一下。在Android中可以发出通知提醒用户一些信息,或者应用可以通过通知推送一些信息。下面是一个很简单的通知。 private void makeNotification() { notificationManager = (NotificationManager) getSystemService(NOTIFICATION