Ich habe eine Radio-Anwendung, die einen Dienst für Media Player und einen BroadcastReceiver verwendet, um eingehende und ausgehende Anrufe zu stoppen oder den Media Player-Dienst neu starten, funktioniert es aber wenn ich aufhöre meine app die BroadcastReceiver prüft noch für Anrufe und stürzt meine Anwendung auch das verschwunden ist (es Ziel war) hier ist der CodeAndroid BroadcastReceiver macht App zum Absturz, wenn App nicht funktioniert
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>
die 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{}
}
}
Wie kann ich es stoppen?
Einfach perfekt das hat super funktioniert! Danke für das Teilen dieses Codes! Wenn jemand anderes ein ähnliches Problem hat, versuchen Sie es mit diesem Code. – zvzej