package com.music.ui;
import com.music.service.MusicService;
import com.music.service.R;
import com.music.service.MusicService.MyBinder;
import com.music.service.R.id;
import com.music.service.R.layout;
import android.app.Activity;
import android.app.Service;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MusicActivity extends Activity
{
Button open, close, getTime;
// 保持所启动的Service的IBinder对象
MusicService.MyBinder binder;
// 定义一个ServiceConnection对象
private ServiceConnection conn = new ServiceConnection()
{
// 当该Activity与Service连接成功时回调该方法
@Override
public void onServiceConnected(ComponentName name
, IBinder service)
{
System.out.println("--Service Connected--");
// 获取Service的onBind方法所返回的MyBinder对象
binder = (MusicService.MyBinder) service;
}
// 当该Activity与Service断开连接时回调该方法
@Override
public void onServiceDisconnected(ComponentName name)
{
System.out.println("--Service Disconnected--");
}
};
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取程序界面中的start、stop、getServiceStatus按钮
open = (Button) findViewById(R.id.bind);
close = (Button) findViewById(R.id.unbind);
getTime = (Button) findViewById(R.id.getServiceStatus);
// 创建启动Service的Intent
final Intent intent = new Intent();
// 为Intent设置Action属性
intent.setAction("com.music.service.BIND_SERVICE");
open.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View source)
{
// 绑定指定Serivce
bindService(intent, conn, Service.BIND_AUTO_CREATE);
}
});
close.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View source)
{
// 解除绑定Serivce
unbindService(conn);
}
});
getTime.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View source)
{
// 获取、并显示Service的count值
Toast.makeText(MusicActivity.this,
"Serivce的count值为:" + binder.getCount(),
Toast.LENGTH_SHORT).show(); //②
}
});
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
用Service来启动背景音乐
共52个文件
png:21个
class:16个
java:4个
3星 · 超过75%的资源 需积分: 11 21 下载量 30 浏览量
2014-07-04
16:26:31
上传
评论
收藏 3.79MB ZIP 举报
温馨提示
如果我们添加的音乐播放器的这个Activity异常关闭或是我们人为关闭时,我们的音乐播放还是否能够继续呢?不要忘了,Android的四大组件中,有一个Service。它的功能类似于Activity,只是Service是在后台工作,不出现在用户的视野中。当我们在前台上进行一个人机交互操作,让这个操作关联到Service上,这样,我们就能够解决这个问题了。
资源推荐
资源详情
资源评论
收起资源包目录
MusicService.zip (52个子文件)
MusicService
bin
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 5KB
ic_action_search.png 409B
drawable-xhdpi
ic_launcher.png 7KB
ic_action_search.png 491B
crunch
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 5KB
ic_action_search.png 409B
drawable-xhdpi
ic_launcher.png 7KB
ic_action_search.png 491B
drawable-mdpi
ic_launcher.png 3KB
ic_action_search.png 311B
drawable-mdpi
ic_launcher.png 3KB
ic_action_search.png 311B
classes
com
music
ui
MusicActivity$2.class 1KB
MusicActivity$3.class 924B
MusicActivity$4.class 1KB
MusicActivity.class 2KB
MusicActivity$1.class 1KB
service
BuildConfig.class 343B
R$layout.class 391B
R$id.class 449B
R$drawable.class 444B
MusicService$1.class 1KB
R$attr.class 337B
R.class 567B
R$string.class 522B
MusicService$MyBinder.class 639B
MusicService.class 2KB
R$raw.class 398B
AndroidManifest.xml 867B
res
drawable-ldpi
ic_launcher.png 2KB
raw
just_the_way_you_are.mp3 3.44MB
drawable-hdpi
ic_launcher.png 4KB
ic_action_search.png 3KB
drawable-xhdpi
ic_launcher.png 5KB
ic_action_search.png 3KB
values
strings.xml 313B
drawable-mdpi
ic_launcher.png 2KB
ic_action_search.png 3KB
layout
main.xml 807B
assets
gen
com
music
service
BuildConfig.java 159B
R.java 1KB
proguard.cfg 1KB
.settings
org.eclipse.jdt.core.prefs 598B
src
com
music
ui
MusicActivity.java 2KB
service
MusicService.java 2KB
.project 848B
.classpath 475B
project.properties 562B
AndroidManifest.xml 867B
libs
android-support-v4.jar 341KB
共 52 条
- 1
资源评论
- qq_149001932014-08-11一关掉就没放了。。。。
Q-WHai
- 粉丝: 1243
- 资源: 107
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SAP常用事务代码,涉及到MM板块
- A Pathfinding Project Pro v5.0.5.unitypackage
- 糖尿病并发症预警数据集
- All In 1 Sprite Shader v3.6.unitypackage
- 基于深度学习的电影推荐系统源代码,数据集采用MovieLens1M,实现了AE、VAE、BERT提取电影名特征3种方法
- 联通支付注册-滑动验证-selenium+Opencv 自动化测试程序-pc端
- UGUI Super ScrollView v2.5.4.unitypackage
- 锅炉腐蚀炉管穿孔 炉水发红蒸汽冷凝水铁超标一招化解.docx
- 从效率角度看6种MySQL批量更新方式的优劣.zip
- Behavior Designer - Behavior Trees for Everyone v1.7.9.unitypack
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功