WEB开发网
开发学院手机开发Android 开发 android service 学习 阅读

android service 学习

 2010-08-23 01:13:00 来源:WEB开发网   
核心提示:4546 int op = bundle.getInt("op");47 switch (op) {48 case 1:49 play();50 break;51 case 2:52 stop();53 break;54 case 3:55 pause();56 break;57 }5859 }60

45

46 int op = bundle.getInt("op");

47 switch (op) {

48 case 1:

49 play();

50 break;

51 case 2:

52 stop();

53 break;

54 case 3:

55 pause();

56 break;

57 }

58

59 }

60 }

61

62 }

63

64 public void play() {

65 if (!mediaPlayer.isPlaying()) {

66 mediaPlayer.start();

67 }

68 }

69

70 public void pause() {

71 if (mediaPlayer != null && mediaPlayer.isPlaying()) {

72 mediaPlayer.pause();

73 }

74 }

75

76 public void stop() {

77 if (mediaPlayer != null) {

78 mediaPlayer.stop();

79 try {

80 // 在调用stop后如果需要再次通过start进行播放,需要之前调用prepare函数

81 mediaPlayer.prepare();

82 } catch (IOException ex) {

83 ex.printStackTrace();

84 }

85 }

86 }

87

88}

服务 使用了系统自带MediaPlayer进行音乐的播放控制。 当调用了startService后服务会先调用onCreate,我们在里面对MediaPlayer进行初始化。接着会调用onStart,可以看到传递给startService()的Intent对象会传递给onStart()方法,这样我们就可以得到intent里面的操作码:

Iundle bundle = intent.getExtras();

int op = bundle.getInt("op");

然后更具定义好的操作码进行相应的f播放操作。启动后界面如下图:

图中的”close”和“exit”是不同的,close只是调用finish()退出当前的Activity,但是Service并没有关掉,音乐会继续播放。而exit就是调用了stopService(intent);来停止服务,Service会调用onDestroy()方法来对mediaPlayer进行停止和释放资源。

有时候如果服务只提供一些操作接口,我们也可以通过广播的g方式来启动服务。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:android service 学习

编辑录入:coldstar [复制链接] [打 印]
赞助商链接