Добавить PhoneStateListener

Я пытаюсь настроить PhoneStateListener но я получаю, что PhoneCallListener cannot be resolved to a type .

 public class ButtonView extends FrameLayout { PhoneCallListener phoneListener = new PhoneCallListener(); TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); telephonyManager.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE); } 

В другом примере я нашел его написано так и работает

 public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { // add PhoneStateListener PhoneCallListener phoneListener = new PhoneCallListener(); TelephonyManager telephonyManager = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); telephonyManager.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE); } 

Что я должен изменить в своем коде, чтобы заставить его работать?

Вы должны создать приемник, чтобы перехватывать телефонные звонки.

Для этого добавьте это в свой файл manifest.xml:

       

и создайте эти classы:

 import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.util.Log; import android.webkit.WebView; public class MyPhoneStateListener extends PhoneStateListener { public static Boolean phoneRinging = false; public void onCallStateChanged(int state, String incomingNumber) { switch (state) { case TelephonyManager.CALL_STATE_IDLE: Log.d("DEBUG", "IDLE"); phoneRinging = false; break; case TelephonyManager.CALL_STATE_OFFHOOK: Log.d("DEBUG", "OFFHOOK"); phoneRinging = false; break; case TelephonyManager.CALL_STATE_RINGING: Log.d("DEBUG", "RINGING"); phoneRinging = true; break; } } } 
 import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; public class ServiceReceiver extends BroadcastReceiver { TelephonyManager telephony; public void onReceive(Context context, Intent intent) { MyPhoneStateListener phoneListener = new MyPhoneStateListener(); telephony = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); telephony.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE); } public void onDestroy() { telephony.listen(null, PhoneStateListener.LISTEN_NONE); } } 
Давайте будем гением компьютера.