Androidは起動して自動的に音楽を再生するインスタンス(Broadcast、Service)を実現する


Androidは電源を入れて自動的に音楽を再生する例(Broadcast、Service)1を実現する.まず電源を入れて起動すると、androidというStandard Broadcast Actionが発行されます.intent.action.BOOT_COMPLETED、このアクションは一度しか出ません.2.Intent Receiverクラスを構築し、その抽象的なメソッドonReceiveIntent(Context context,Intent intent)を再構築し、起動したいサービスを起動します.3.AndroidManifest.xmlには、まずでBOOT_を取得COMPLETEDの使用許可を取得し、前に再構築したIntentReceiverクラスを登録し、その.一例
xml:


  
    
    
  


Java:
public class StartBroadcastReceiver extends BroadcastReceiver {
  static final String ACTION = "android.intent.action.BOOT_COMPLETED";
  public void onReceive(Context context, Intent intent) {
      if (intent.getAction().equals(ACTION)){
          context.startService(new Intent(context, StartBootService.class), null);//       
          Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG).show();
      }
  }
}

Service:
public class StartBootService extends Service {
	
	private static final String TAG = "MyService";
	private MediaPlayer player;
	
	@Override
	public IBinder onBind(Intent intent) {
		// TODO Auto-generated method stub
		return null;
	}
	
	/**
	 *     
	 * 
	 */
	public void onCreate() {
		super.onCreate();
		
		Log.i(TAG,"        !");
		//      
		player = MediaPlayer.create(this, R.drawable.suaicong);
		player.setLooping(true);
		
	}

	/**
	 *     
	 * 
	 */
	public void onStart(Intent intent, int startId) {
		// TODO Auto-generated method stub
		super.onStart(intent, startId);
		Toast.makeText(this, "      ~", 0).show();
		player.start();
	}

	/**
	 *     
	 * 
	 */
	public void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Toast.makeText(this, "      ~", 0).show();
		player.stop();
	}

}