您的位置:首页 > 移动开发 > Android开发

Android读书笔记---RemoteViews 远程View

2015-11-15 22:12 459 查看
(内容来自于Android开发艺术探索)

RemoteViews 远程View,可以跨进程更新它的页面。

例如自定义一个Notification

Notifiaction notification=new Notification();
notification.icon=R.drawable.ic_luncher;
notification.tickerText="test"
notification.when=System.currentTimeMillis();
notification.flags=Notification.FLAG_AUTO_CANCEL;
Intent intent=new Intent(this,Act);
PendingIntent pendingIntent=PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews remoteViews=new RemoteViews(getPackageName(),R.layout.layout_notification);
remoteViews.setTextView(R.id.msg,"..");
remoteViews.setImageViewResource(R.id.icon,R.drawable.icon1);
PendingIntent pendingActivity=PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);
remoteViews.setOnClickPendingIntent(R.id.open_activity2,pendingActivity);
notification.contentView=remoteViews;
notification.contentIntent=pendingIntent;
NotificationManager manager=getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(2,notificaiton);


1.使用RemoteView需要提供当前应用的报名,和替换布局的id

RemoteViews remoteViews=new RemoteViews(getPackageName(),R.layout.layout_notification);


2.RemoteViews无法直接访问它的布局中的View,可以通过RemoteView提供的方法访问

remoteViews.setTextView(R.id.msg,"..");
remoteViews.setImageViewResource(R.id.icon,R.drawable.icon1);


3.如果布局中的View需要点击事件,则要通过PendingIntent

pendingActivity=PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);
remoteViews.setOnClickPendingIntent(R.id.open_activity2,pendingActivity);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: