AppWidget(二) PendingIntent
来源:互联网 发布:mini metro mac 编辑:程序博客网 时间:2024/06/06 03:57
PendingIntent 待定的意图 我们可以同过它来启动其它应用的activity,service,broadcast,
PendingIntent 是系统用于检索原始数据的一个标记,即使一个application停止了,但如果又新建application , 检索个相同intent的PendingIntent 它将和原来的PndingIntent 拥有相同的标记, 必须通过remove 移除它,否者可能会出现该应用出现上次应用的数据
PendingIntent 可以通过
requestCode : 当需要发送不同的pendingIntent 的时候 必须设置该值,否者将会出现可能多个button 发送的是同一个intent事件
flags 有4种形式 FLAG_CANCEL_CURRENT 取消当前的pendingIntent , 当只需要更新intent 时可以调用这个,但必须确保前面的么有需要的实体,否者前面的会失效,
FLAG_UPDATE_CURRENT 更新所有的pendingIntent 比较实用
FLAG_NO_CREATE 不新建 如果不存在 返回null
FLAG_ONE_SHOT 只新建一次 当触发send时 自动清除pendingIntent
Mp3 中多个button绑定pendingIntent 事件
@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {System.out.println("onUpdate");for(int i=0;i<appWidgetIds.length;i++){//创建一个Intent对象RemoteViews remoteViews=new RemoteViews(context.getPackageName(),R.layout.appwidget_music);//前一首歌Intent intent=new Intent( MUSIC_PLAY_STATE);Bundle bundle=new Bundle();bundle.putString("action","prev");bundle.putInt(AppWidgetManager.EXTRA_APPWIDGET_ID,appWidgetIds[i]);intent.putExtras(bundle);// 创建一个PendingIntent对象PendingIntent pendingIntent=PendingIntent.getBroadcast(context,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);remoteViews.setOnClickPendingIntent(R.id.prevMusicImage,pendingIntent);//下一首intent=new Intent( MUSIC_PLAY_STATE);bundle=intent.getExtras();bundle=new Bundle();bundle.putString("action","next");bundle.putInt(AppWidgetManager.EXTRA_APPWIDGET_ID,appWidgetIds[i]);intent.putExtras(bundle); pendingIntent=PendingIntent.getBroadcast(context,1,intent,PendingIntent.FLAG_UPDATE_CURRENT);remoteViews.setOnClickPendingIntent(R.id.nextMusicImage,pendingIntent);//播放或暂停intent=new Intent( MUSIC_PLAY_STATE);bundle=new Bundle();bundle.putString("action","playOrPause");intent.putExtras(bundle);pendingIntent=PendingIntent.getBroadcast(context,2,intent,PendingIntent.FLAG_UPDATE_CURRENT);remoteViews.setOnClickPendingIntent(R.id.playOrPauseImage,pendingIntent);System.out.println("appWidgetIds======"+appWidgetIds[i]);appWidgetManager.updateAppWidget(appWidgetIds[i],remoteViews);}super.onUpdate(context, appWidgetManager, appWidgetIds);}
- AppWidget(二) PendingIntent
- AppWidget应用(二)---PendingIntent 之 getActivity
- AppWidget应用(二)---PendingIntent 之 getActivity
- Android:AppWidget,PendingIntent,RemoteViews用法
- 总结:AppWidget Notification PendingIntent Activity...
- Android:AppWidget,PendingIntent,RemoteViews用法
- PendingIntent在AppWidget程序中的应用
- PendingIntent在AppWidget程序中的应用
- PendingIntent在AppWidget程序中的应用
- (转)Android:AppWidget,PendingIntent,RemoteViews用法
- AppWidget应用(三)---PendingIntent 之 getBroadcast
- AppWidget应用(四)---PendingIntent 之 getService
- AppWidget应用(三)---PendingIntent 之 getBroadcast
- AppWidget应用(四)---PendingIntent 之 getService
- appwidget之二
- Android AppWidget 开发中PendingIntent传送数据丢失解决办法
- Android AppWidget 开发中PendingIntent传送数据丢失解决办法
- Android 多个 AppWidget PendingIntent 传送数据丢失解决办法
- sql函数拼接字符串
- 探秘13个月幼童吃橙子
- jQuery Plugins Apply
- 分析程序中重要的两条主线
- ubuntu中使用SSH
- AppWidget(二) PendingIntent
- IUnknown接口
- #define,const,typedef的区别
- 基于s3c2410的tslib1.4的编译与移植~
- 【个人整理】WAS7.0迁移时遇到的问题:TransformerFactoryImpl not found及解决
- 黑马程序员—学习笔记之C#多线程
- 常用软件
- android.view.InflateException: Binary XML file line #异常的解决
- java读写文件和字符串操作