Извлечение содержимого из тегов XML с помощью AgilityPack

Шаги:

1) Добавьте необходимые разрешения в файл Manifest.xml.





2) Создайте прослушиватель для изменения состояния телефона.

public class EndCallListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
    if(TelephonyManager.CALL_STATE_RINGING == state) {
    }
    if(TelephonyManager.CALL_STATE_OFFHOOK == state) {
        //wait for phone to go offhook (probably set a boolean flag) so you know your app initiated the call.
    }
    if(TelephonyManager.CALL_STATE_IDLE == state) {
        //when this state occurs, and your flag is set, restart your app
    Intent i = context.getPackageManager().getLaunchIntentForPackage(
                            context.getPackageName());
    //For resuming the application from the previous state
    i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

    //Uncomment the following if you want to restart the application instead of bring to front.
    //i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    context.startActivity(i);
    }
}
}

3) Инициализируйте слушателя в своем OnCreate

EndCallListener callListener = new EndCallListener();
TelephonyManager mTM = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
mTM.listen(callListener, PhoneStateListener.LISTEN_CALL_STATE);

, но если вы хотите возобновить свое последнее состояние приложения или вернуть его из заднего стека, замените FLAG_ACTIVITY_CLEAR_TOP с FLAG_ACTIVITY_SINGLE_TOP

Ссылка на это Ответ

0
задан user788448 15 January 2019 в 19:53
поделиться