ho aggiunto questo è il mio manifest -Non in grado di ottenere il TelephonyManager.CALL_STATE_RINGING
<receiver android:name=".ServiceReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
</application>
<uses-permission android:name="android.permission.READ_PHONE_STATE">
</uses-permission>
Poi la mia classe di servizio è come questo -
public class ServiceReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
MyPhoneStateListener phoneListener = new MyPhoneStateListener();
TelephonyManager telephony = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
telephony.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE);
}
}
e il mio PhoneStateListener è -
public class MyPhoneStateListener extends PhoneStateListener {
public void onCallStateChanged(int state, String incomingNumber) {
Log.i("telephony-example", "State changed: " + stateName(state));
}
String stateName(int state) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
Log.d("DEBUG", "***********IDLE********");
return "Idle";
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d("DEBUG", "***********OFFHOOK********");
return "Off hook";
case TelephonyManager.CALL_STATE_RINGING:
Log.d("DEBUG", "***********RINGING********");
return "Ringing";
}
return Integer.toString(state);
}
}
Sono in grado di vedere lo stato IDLE.
Ma quando chiamo non ottengo lo stato di chiamata. Perché?
Grazie ... ha ottenuto il ronzio :) BTW fai a sapere come farlo mettere in pausa la mia app quando il telefono squilla e poi tornare al app quando la telefonata è finita? – nasaa
AFAIK, se la tua app sta eseguendo un'attività, verranno richiamati onPause e onStop per ottenere l'attività del telefono in primo piano. Se stai eseguendo un servizio non vedo un motivo per cui vuoi mettere in pausa il lavoro che stai facendo. Tuttavia, se si desidera utilizzare il metodo sopra riportato per sapere quando il telefono squilla e quindi, a seconda della logica dell'app, interrompere il lavoro e riprendere dopo, ma non vedo perché lo farebbe da un servizio! – advantej
beh, il problema è che ho una canzone che suona ma non si ferma quando il telefono squilla così ho chiesto. – nasaa