package com.example.servicedemo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button buttonStart, buttonStop;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);buttonStart = (Button) findViewById(R.id.buttonStart);buttonStop = (Button) findViewById(R.id.buttonStop);buttonStart.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO 自动生成的方法存根startService(new Intent(MainActivity.this, MyService.class));//startService(new Intent(this, MyService.class));//Log.i("--------------------buttonStart----------------------", "buttonStart");}});buttonStop.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO 自动生成的方法存根stopService(new Intent(MainActivity.this, MyService.class));//Log.i("--------------------buttonStop----------------------", "buttonStop");}});}// /onCreate}
package com.example.servicedemo;import android.app.Service;import android.content.Intent;import android.media.MediaPlayer;import android.os.IBinder;import android.util.Log;import android.widget.Toast;/** * @author Administrator *  */public class MyService extends Service {MediaPlayer player;@Overridepublic IBinder onBind(Intent intent) {// TODO 自动生成的方法存根return null;}@Overridepublic void onCreate() {// TODO 自动生成的方法存根// super.onCreate();Toast.makeText(this, "My Service created", Toast.LENGTH_LONG).show();Log.i("----------------------onCreate----------------------", "onCreate");player = MediaPlayer.create(MyService.this, R.raw.chopstick_brother);player.setLooping(false);}@Overridepublic void onStart(Intent intent, int startId) {// TODO 自动生成的方法存根// /super.onStart(intent, startId);Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();Log.i("--------------------onStart----------------------", "onStart");player.start();}@Overridepublic void onDestroy() {// TODO 自动生成的方法存根//super.onDestroy();Toast.makeText(this, "My Service Stoped", Toast.LENGTH_LONG).show();Log.i("----------------------Stoped----------------------", "Stoped");player.stop();}}// / class MyService
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="${relativePackage}.${activityClass}" >    <Button        android:id="@+id/buttonStart"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:layout_alignParentTop="true"        android:layout_marginRight="107dp"        android:layout_marginTop="56dp"        android:text="start" />    <Button        android:id="@+id/buttonStop"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/buttonStart"        android:layout_alignBottom="@+id/buttonStart"        android:layout_alignParentRight="true"        android:layout_marginRight="18dp"        android:text="stop" /></RelativeLayout>
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.servicedemo"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="15"        android:targetSdkVersion="16" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name=".MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <service            android:name=".MyService"            android:enabled="true" >        </service>    </application></manifest>

android,service实例,播放音乐_第1张图片android,service实例,播放音乐_第2张图片

第一次:点击 start,输出 onCreate,onStart 音乐播放

第二次:点击stop,输出stoped 音乐停止播放

第三次:点击 start,输出 onCreate,onStart 音乐播放。前面已stop,需要重新创建 启动

第三次:点击 start,输出 onStart 音乐播放,前面已启动,此时不需创建。此时继续播放,不重新播放。





更多相关文章

  1. Android详细的对话框AlertDialog.Builder使用方法
  2. Android Studio 3.0 gradle提示太老 解决方法
  3. Android 中自定义控件和属性(attr.xml,declare-styleable,TypedA
  4. [Android]LayoutInflater的inflate方法半详解
  5. Android与Unity交互调用mUnityPlayer.quit()方法退出返回上一个A
  6. Unity3D调用android方法(非插件方式)
  7. Android事件处理方法总结-Handler消息处理
  8. android介绍以及学习方法

随机推荐

  1. “Android SDK Content loader has encou
  2. iphone风格设置页面PreferenceActivity
  3. Android(安卓)内存泄漏检测
  4. Android中DialogFragment优于Dialog
  5. dlopen failed: library "/system/lib/li
  6. Android ble 蓝牙4.0 总结一
  7. Android Platform 3.0 SDK和Eclipse ADT
  8. Android NDK编译选项设置
  9. Android Studio xml android标签突然没有
  10. 每天一点小知识【6】