第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android:檢查手機是否是雙SIM

Android:檢查手機是否是雙SIM

慕的地6264312 2019-06-15 17:38:54
Android:檢查手機是否是雙SIM在論壇上進(jìn)行了大量的研究之后,我現(xiàn)在知道在雙SIM手機中無法找到兩個SIM卡的IMSI或SIM序列號(除了與制造商聯(lián)系)?,F(xiàn)在我改變了的問題是,我們能發(fā)現(xiàn)手機有兩個模擬人生嗎?我相信有情報就能發(fā)現(xiàn)。我能想到的幾種方法是:撥打USSD代碼并跟蹤IMEI號碼的日志(我在印度嘗試使用*139#)。)這將為我撥USSD代碼的SIM提供IMEI號碼。(據(jù)推測,這款手機遵循Android的規(guī)定,有兩個IMEI號碼。)存儲用于SIM的SIM序列號和/或IMSI。在檢測到任何其他IMSI/序列號之后,即使電話沒有重新啟動(即SIM被切換),也可以通過跟蹤某些日志或通過廣播事件處理。通過撥打*06#,您將看到兩個IMEI號碼。順便說一句,得到這兩個數(shù)字。(類似于屏幕捕獲和文本圖像解析。)如果有人能想到其他的方法,他們是最受歡迎的。我真的很感激在這方面提供任何幫助。此外,如果任何人有任何關(guān)于制造商API或鏈接的任何信息與他們聯(lián)系,請與社區(qū)的人分享。
查看完整描述

3 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗 獲得超4個贊

我有一個帶有Android4.4.4的三星Duos設(shè)備,Seetha在接受的答案(即調(diào)用getDeviceIdDs)中建議的方法不適合我,因為這個方法不存在。通過調(diào)用方法“getDefault(IntslotID)”,我能夠恢復(fù)所需的所有信息,如下所示:

public static void samsungTwoSims(Context context) {
    TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

    try{

        Class<?> telephonyClass = Class.forName(telephony.getClass().getName());

        Class<?>[] parameter = new Class[1];
        parameter[0] = int.class;
        Method getFirstMethod = telephonyClass.getMethod("getDefault", parameter);

        Log.d(TAG, getFirstMethod.toString());

        Object[] obParameter = new Object[1];
        obParameter[0] = 0;
        TelephonyManager first = (TelephonyManager) getFirstMethod.invoke(null, obParameter);

        Log.d(TAG, "Device Id: " + first.getDeviceId() + ", device status: " + first.getSimState() + ", operator: " 
        + first.getNetworkOperator() + "/" + first.getNetworkOperatorName());

        obParameter[0] = 1;
        TelephonyManager second = (TelephonyManager) getFirstMethod.invoke(null, obParameter);

        Log.d(TAG, "Device Id: " + second.getDeviceId() + ", device status: " + second.getSimState()+ ", operator: " 
        + second.getNetworkOperator() + "/" + second.getNetworkOperatorName());
    } catch (Exception e) {
        e.printStackTrace();
    }   }

此外,我還重寫了反復(fù)測試方法以恢復(fù)此信息的代碼,以便它使用一個方法名稱數(shù)組,而不是一系列try/catch。例如,要確定是否有兩個活動的Sims,我們可以這樣做:

private static String[] simStatusMethodNames = {"getSimStateGemini", "getSimState"};public static boolean hasTwoActiveSims(Context context) {
    boolean first = false, second = false;

    for (String methodName: simStatusMethodNames) {
        // try with sim 0 first
        try {
            first = getSIMStateBySlot(context, methodName, 0);
            // no exception thrown, means method exists
            second = getSIMStateBySlot(context, methodName, 1);
           return first && second;
        } catch (GeminiMethodNotFoundException e) {
            // method does not exist, nothing to do but test the next
        }
    }
    return false;}

這樣,如果為某個設(shè)備建議了一個新的方法名,您可以簡單地將它添加到數(shù)組中,并且它應(yīng)該可以工作。


查看完整回答
反對 回復(fù) 2019-06-15
  • 3 回答
  • 0 關(guān)注
  • 491 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號