音乐播放器widget 补充
[功能]
在 音乐播放器widget 前传 后传 有一些没讲清楚 所以打算再开辟 专门说一下
1. Bundle 复用
2. BroadcastReceiver 复用
[前提]
1. 现有一BroadcastReceiver:class MessageListenerHelper extends BroadcastReceiver 实现如下:
public class MessageListenerHelper extends BroadcastReceiver {
Context context;
MessageListenerHelper listener;
//construct
public MessageListenerHelper(Context c){
context = c;
//to instance it
listener = this;
}
public void registerAction(String action){
IntentFilter filter = new IntentFilter();
filter.addAction(action);
context.registerReceiver(listener,filter);
}
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
}
}
写道
补充:
其 onReceive() 没有实现 将在具体情况中分别实现之
以下就2点予以说明:
[Bundle 复用]
1. 注册MessageListenerHelper
MessageListenerHelper listener = new MessageListenerHelper(this);
listener.registerAction("Broadcast_MessageListwener");
2. 发生某Broadcast
public void sendMessageText(String s){
Intent i = new Intent(BroadcastColumn.BROADCAST_TaskB);
Bundle b = new Bundle();
b.putString("Message_Text", s);
i.putExtras(b);
sendBroadcast(i);
}
3. 实现onReceive() 并对具体消息做判断
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Bundle b = arg1.getExtras();
if(b.containsKey("Message_Text")){
String string = b.getString("Message_Text");
Log.d("TAG",string);
}
}
4. 如此就实现了Bundle 复用
[Broadcast 复用]
1. 注册MessageListenerHelper
MessageListenerHelper listener = new MessageListenerHelper(this);
listener.registerAction("Broadcast_MessageListener_1");
MessageListenerHelper listener2 = new MessageListenerHelper(this);
listener2.registerAction(Broadcast_MessageListener_2);
2. 发生某Broadca
public void sendMessage1(String b,String key, String value){
Intent i = new Intent(b);
Bundle b = new Bundle();
b.putString(key, value);
i.putExtras(b);
sendBroadcast(i);
}
3. 实现onReceive() 并对具体Broadcast 做判断
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
if(arg1.getAction().endsWith("Broadcast_MessageListener_1")){
Bundle b = arg1.getExtras();
if(b.containsKey("Message_Text_1")){
String string = b.getString("Message_Text_1");
Log.d("TAG",string);
}
}
else if(arg1.getAction().endsWith("Broadcast_MessageListener_2")){
Bundle b = arg1.getExtras();
if(b.containsKey("Message_Text_2")){
String string = b.getString("Message_Text_2");
Log.d("TAG",string);
}
}
}
4. 此为Broadcast 复用
补充:
1. 其实除了在widget中 必须用 Broadcast复用外 二者都可以使用 具体用那个 视情况而定
2. 因为Broadcast复用中 需要new 2 次 所以推荐 尽量用 Bundle 复用 仅限个人意见
分享到:
相关推荐
安卓优雅音乐播放器,带widget
优雅音乐播放器带widget,界面好看,仿MIUI音乐
Android音乐播放器项目(含Widget小挂件、Notification通知栏)代码详解博客:https://blog.csdn.net/jal517486222/article/details/88994863
可以通过桌面Widget控制后台音乐的播放,也可以点击Widget上面的LOGO进入应用程序。 涉及到了,一个基本的widget程序的大部分知识点,包括widget和service如何交换数据,service如何利用RemoteView来控制widget上的...
博客《桌面widget详解(四)——桌面音乐播放器(实战)》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/41754477
WordPress漂亮的音乐播放器插件Aplayer
Android 编写与酷狗音乐极像的音乐播放器源代码,这个播放器的名字叫做百纳音乐播放器,界面写的挺不错,功能都有,不过没有酷狗多,在本程序的编写中,获得widget界面的引用,widget只能通过RemoteView改变界面,不...
使用Android来实现音乐播放器,结合了AudioFocus、Android的四大组件。在实现App的同时结合了Widget。
Apollo音乐播放器是国外著名固件团队CM所推出的一款音乐应用,作为CM系列ROM的默认播放器,界面简洁,左右滑动可以切换不同的歌曲筛选,支持各种主题切换,支持锁屏状态下的widget,包括Android4.2,此版本首次在...
Qt widget加qss做的一款音乐播放器,只支持本地播放,有源码。
本Mini音乐播放器,能够播放mp3、wma两种格式的音频文件,实现了 基本的播放功能,其他更多功能,正在开发中。 5.注意事项:如果Widget不能即时添加,则应在启动本软件之前先添加 Widget,再启动软件,这样便可以...
该播放器主要实现了SD卡扫描、后台播放、歌手与专辑筛选,歌曲列表管理、歌词同步滚动显示、播放模式选择、皮肤更换、网络下载、桌面Widget等功能。对Android应用程序的开发环境及工具作了简单介绍,详细介绍了音乐...
名称:BubbleUPnP音乐播放器 软件版本:v2.0.2.2已付费版 软件语言:英文 软件大小:8.1M 软件包名:com.bubblesoft.android.bubbleupnp 支持系统:Android 4.0+ 【软件介绍】 BubbleUPnP的厉害之处在于:实现在...
音乐播放器为重构代码,集成桌面小部件,通知栏,具体效果看博客 http://blog.csdn.net/jsonlog/article/details/52224238
典型的程序有时钟、天气、音乐播放器等。AppWidget 是Android 系统应用开发层面的一部分,有着特殊用途,使用得当的化,的确会为app 增色不少,它的工作原理是把一个进程的控件嵌入到别外一个进程的窗口里的一种方法...
Widget
appwidget的简单使用
Android App Widget 开发,demo实现了一个简单的音乐播放器,详见http://blog.csdn.net/huaxun66/article/details/77880376
include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); pathName = "/home/akaedu/akplayer/music/"; // getMusicList();...
比较全面介绍widget由来的资料 Widget是一种小插件,通常以小窗或小框的形式出现在网页、系统桌面、手机等地方。Widget通常使用的是HTML、Javascript、Flash或者iframe方式嵌入。一个界面可以有多个widget,通过不同...