0
안드로이드 앱을 만들고 있는데 안드로이드 기기가 전화를받을 때 앱이 뭔가를 할 것입니다.하지만 앱이 계속 듣기를 원합니다. 사용자가 앱을 종료 한 경우에도 전화를 걸 수 있습니다. Manifest
파일의안드로이드 - 사용자가 앱을 종료해도 PHONE_STATE 수신자가 계속 작동하도록하는 방법
부분 :
<receiver android:name=".PhoneState.PhoneStateHandler" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
PhoneStateListener.java
파일 :
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
public abstract class PhoneStateListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String stateStr = intent.getExtras().getString(TelephonyManager.EXTRA_STATE);
String number = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
int state = 0;
if (stateStr.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
state = TelephonyManager.CALL_STATE_RINGING;
}
onCallStateChanged(context, state);
}
protected abstract void onIncomingCallStarted(Context context);
public void onCallStateChanged(Context context, int state) {
if (state == TelephonyManager.CALL_STATE_RINGING){
onIncomingCallStarted(context);
}
}
}
PhoneStateHandler
파일 : 그래서 앱이 백그라운드에서 통화를 수신 할 어떻게
import android.content.Context;
public class PhoneStateHandler extends PhoneStateListener{
@Override
protected void onIncomingCallStarted(Context context) {
//Some code
}
}
.
내 화면이 꺼지면 내 앱이 꺼져있을 때 작동합니까? – user8425571
PhoneStateListener.java가 필요한가 아니면 MyService.java에 코드를 복사 할 수 있습니까? – user8425571
이것은 앱이 꺼져 있고 서비스가 백그라운드에서 실행 중일 때 작동하며 onRecieve() 메소드가있는 MyService.java에서 PhoneStateListener.java를 복사해야합니다. –