У меня есть приложение Radio, которое использует Сервис для медиаплеера и BroadcastReceiver для проверки входящих и исходящих вызовов, чтобы остановить или перезапустить службу медиаплеера, но работает, но когда я ухожу мое приложение BroadcastReceiver еще проверка звонков и он выходит из строя моего приложения даже, что вышло (это было окончание) вот кодAndroid BroadcastReceiver заставляет приложение сбой, когда приложение не работает
Manifest
<service android:name=".PlayerService"
android:label="@string/app_name">
<intent-filter>
</intent-filter>
</service>
<receiver android:name=".IncomingCallInterceptor">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
BroadcastReceiver
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
public class IncomingCallInterceptor extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (PlayerService.getInstance() != null) {
if (TelephonyManager.EXTRA_STATE_RINGING.equals(state)) {
PlayerService.getInstance().stopMusic();
}
if (TelephonyManager.EXTRA_STATE_OFFHOOK.equals(state)) {
PlayerService.getInstance().stopMusic();
}
if (TelephonyManager.EXTRA_STATE_IDLE.equals(state)) {
PlayerService.getInstance().startMusic();
}
}else{}
}
}
Как я могу остановить его?
Просто отлично, это сработало отлично! Спасибо, что поделились этим куском кода! если у кого-то есть аналогичная проблема, попробуйте этот код, он выполняет эту работу! – zvzej