服務我使用下列service
在我的應用程序播放聲音時,應用程序啓動的聲音開始,當在菜單中的任何button
其停止用戶點擊。但我正面臨一些問題。如果用戶打開應用程序,並且在應用程序菜單中未按任何button
,則按移動聲音上的菜單button
不會停止。如果應用程序啓動並呼叫或消息來自移動靜音在後臺播放。如何在這2件事上停止service
?如何停止按鈕點擊事件
服務代碼
public class PlayAudio extends Service{
private static final String LOGCAT = null;
MediaPlayer objPlayer;
public void onCreate(){
super.onCreate();
Log.d(LOGCAT, "Service Started!");
objPlayer = MediaPlayer.create(this, R.raw.test);
}
public int onStartCommand(Intent intent, int flags, int startId){
objPlayer.start();
Log.d(LOGCAT, "Media Player started!");
if(objPlayer.isLooping() != true){
Log.d(LOGCAT, "Problem in Playing Audio");
}
return 1;
}
public void onStop(){
objPlayer.stop();
objPlayer.release();
}
public void onPause(){
objPlayer.stop();
objPlayer.release();
}
public void onDestroy(){
objPlayer.stop();
objPlayer.release();
}
@Override
public IBinder onBind(Intent objIndent) {
return null;
}
}
當我的應用程序從飛濺活動開始我開始音頻喜歡 -
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
objIntent = new Intent(this, PlayAudio.class);
startService(objIntent);
new Handler().postDelayed(csRunnable2, 5000);
}
然後在主菜單中的活動停止它,當用戶按下任何按鈕 -
hist = (Button) findViewById(R.id.hist);
hist.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
objIntent = new Intent(MainActivity.this, PlayAudio.class);
stopService(objIntent);
startActivity(new Intent(MainActivity.this, History.class));
finish();
請告訴我,我必須做什麼改變?
Stopself()方法。你在哪裏做的?這是你發佈的完整代碼嗎? – DaxeshKhatri
你應該明確地調用它的點擊按鈕也 – Saggy