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:
Service:
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();
}
}