2011-05-07 2 views
0

그래서 백그라운드에서 실행되는 서비스가 있습니다 (수퍼 비밀이기 때문에 내가 무엇인지 말할 수 없습니다 :)) 사용자가 전화를 걸거나 전화가 왔을 때 전화를 끌 수 있습니다. 지금까지 Intent.ACTION_ANSWER을 확인했지만 어떤 이유로 내 브로드 캐스트 수신기가이를 감지하지 못했습니다. 나는 또한 PhoneStateListener을 사용하려고했지만, 내 경우에는 내 진술로 내 서비스로 무엇을하는지 이해하지 못하고있다. 어떤 문맥에 PhoneStateListener입니까? 내 BroadcastReceiver에 대한전화가 걸려 올 때 및 사용자가 전화를 걸 때 서비스를 종료해야합니다.

일부 예제 코드 : 여기

public void onReceive(Context context, Intent intent) {  
if (intent.getAction().equals(Intent.ACTION_ANSWER)) { 
     phoneRinging = true;    
    } 

Intent i = new Intent(context, MyService.class);   
    i.putExtra("phone", phoneRinging); 
    context.startService(i); 
} 

PhoneStateListener를 통해 서비스를 시작하는 코드 조각입니다. 예 : startService(new Intent(---CONTEXT---, MySuperSecretService.class))

그리고 수신기는 매니페스트에 있습니다

<receiver android:name=".PhoneReceiver" android:enabled="true"> 
    <intent-filter> 
     <action android:name="android.intent.action.ANSWER"></action> 
    </intent-filter> 
</receiver> 

WTH이 문에서 CONTEXT 부분으로 간다 나는 PhoneStateListener에서 오전 있다면?

답변

관련 문제