Как прослушать двойной уровень сигнала сима в андроиде? - PullRequest
0 голосов
/ 12 мая 2019

Я занимаюсь разработкой приложения для запуска Android и хочу, чтобы в моем приложении поддерживались двойные уровни сигнала сима.

package com.example.sms;

import android.content.Context;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.SignalStrength;
import android.telephony.TelephonyManager;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    private TextView tvSim1SignalLevel, tvSim2SignalLevel;
    private TelephonyManager telephonyManager;
    private SignalLevelListener signalLevelListener;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tvSim1SignalLevel = findViewById(R.id.tvSim1SignalLevel);
        tvSim2SignalLevel = findViewById(R.id.tvSim2SignalLevel);

        signalLevelListener = new SignalLevelListener();
        telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        telephonyManager.listen(signalLevelListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
    }

    public class SignalLevelListener extends PhoneStateListener {
        @Override
        public void onSignalStrengthsChanged(SignalStrength signalStrength) {
            super.onSignalStrengthsChanged(signalStrength);

            tvSim1SignalLevel.setText(String.valueOf(signalStrength.getLevel()));
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        telephonyManager.listen(signalLevelListener, PhoneStateListener.LISTEN_NONE);
    }
}

Я получаю только уровень сигнала SIM-карты по умолчанию. Как получить вторую SIM-карту?уровень сигнала как в строке состояния иконки уровня сигнала симов?

...