生成桌面插件
2013-01-09 17:39
162 查看
package org.app.qqmusicplayer; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.util.Log; import android.widget.RemoteViews; public class AppWidget extends AppWidgetProvider { private static final String PLAY_ACTION = "com.app.playmusic"; private static final String NEXT_ACTION = "com.app.nextone"; private static final String lAST_ACTION = "com.app.lastone"; private static final String START_APP = "com.app.startapp"; @Override public void onDeleted(Context context, int[] appWidgetIds) { Log.i("info", "onDeleted..."); super.onDeleted(context, appWidgetIds); } @Override public void onDisabled(Context context) { Log.i("info", "onDisabled..."); super.onDisabled(context); } @Override public void onEnabled(Context context) { Log.i("info", "onEnabled..."); super.onEnabled(context); } @Override public void onReceive(Context context, Intent intent) { RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidgetlayout); if (intent.getAction().equals("com.app.pause")){ views.setImageViewResource(R.id.playButton, R.drawable.play_button); } else if (intent.getAction().equals("com.app.play")){ views.setImageViewResource(R.id.playButton, R.drawable.pause_button); } else if (intent.getAction().equals("com.app.musictitle")){ String musicName = intent.getExtras().getString("title"); if (musicName.length()>6){ musicName = musicName.substring(0, 5)+"..."; } views.setTextViewText(R.id.title, musicName); } AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); ComponentName componentName = new ComponentName(context,AppWidget.class); appWidgetManager.updateAppWidget(componentName, views); Log.i("info", "onReceive..."); super.onReceive(context, intent); } @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { Log.i("info", "onUpdate..."); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidgetlayout); /**设置播放键的动作*/ views.setImageViewResource(R.id.playButton, R.drawable.play_button); Intent playIntent = new Intent(PLAY_ACTION); PendingIntent playPending = PendingIntent.getBroadcast(context, 0, playIntent, 0); views.setOnClickPendingIntent(R.id.playButton, playPending); /**设置上一首按钮的动作*/ Intent lastIntent = new Intent(lAST_ACTION); PendingIntent lastPending = PendingIntent.getBroadcast(context, 0, lastIntent, 0); views.setOnClickPendingIntent(R.id.lastButton, lastPending); /**设置下一首按钮的动作*/ Intent nextIntent = new Intent(NEXT_ACTION); PendingIntent nextPending = PendingIntent.getBroadcast(context, 0, nextIntent, 0); views.setOnClickPendingIntent(R.id.nextButton, nextPending); /**获取正在播放的音乐名*/ Intent intent = new Intent(); intent.setAction(START_APP); context.sendBroadcast(intent); appWidgetManager.updateAppWidget(appWidgetIds, views); } }
相关文章推荐
- Android Google Map API使用的八个步骤---插件生成key
- Jquery Chosen 插件 动态生成option 或重新绑定的解决方案
- ibator 插件 abator配置详解(ibatis自动生成实体类)
- 菜鸟先飞之二维码jquery-qrcode插件生成
- [愚翁专栏]如何用C#做一个类似于桌面插件的程序
- eclipse 使用maven generator 插件自动生成mybatis所需代码
- jquery弹窗插件colorbox绑定动态生成元素的方法
- JS生成二维码 jquery.qrcode 插件
- 使用激活的Bartender2016最新版实现ActiveX插件生成二维码
- 在IDEA下,使用maven的mybatis-generator-maven-plugin插件自动生成实体类
- [Android Studio 插件] AndroidPixelDimenGenerator 自动生成多种分辨率dimen文件
- java自动生成验证码插件-kaptcha
- 使用Eclipse的hibernate插件生成POJO
- maven 插件生成mybatis相关代码
- Cordova3.X 运用grunt生成plugin自定义插件骨架
- 使用第三方插件Curvy为unity场景快速生成运动轨迹与赛道
- [Android_Develop]使用插件快速生成JSon解析类
- OpenSeadragon 显示多图自带放大缩小功能的JS插件(支持桌面和手机)
- cordova3.X 运用grunt生成plugin自定义插件骨架
- 使用JS 插件qrcode.js生成二维码功能