雙SIM卡,Android監聽SIM卡狀態

2021-07-30 23:01:50 字數 1143 閱讀 9488

最近在搞乙個專案,其中有一塊關於雙sim卡狀態監聽,在這一塊上沒有經驗,在網上找了很多例子,但都是只是監聽sim卡改變狀態,而我要的是不但要監聽sim狀態改變,而且還要知道具體是哪張sim卡狀態改變,度娘找尋好久後,還是沒有結果,於是便自行來研究下。

首先,sim卡狀態改變的action是android.intent.action.sim_state_changed,需要在manifest.xml進行註冊。

當receiver收到這個action廣播時:

@override

public void onreceive(context context, intent intent)

}private void setsiminfobychange(context context,intent intent) else if (stateextra.equals("ready") || //卡正常狀態 即可以讀出卡資訊

stateextra.equals("imsi") ||

stateextra.equals("loaded") )else if(stateextra.equals("locked") || //卡被鎖狀態

stateextra.equals("not_ready") ||

stateextra.equals("pin")||

stateextra.equals("puk"))

}log.d(tag, " #######stateextra:"+stateextra+"+++++siminfo:"+siminfo);

log.d(tag, " #######soltid:"+soltid);

}

通過這個intent可以找到相應的sim及卡槽資訊,同時

string stateextra = intent.getstringextra(icccardconstants.intent_key_icc_state);
這個方法可以獲取sim卡改變的狀態情況,在icccardconstants的api中可以發現有這些狀態:

通過這個方法就可以將卡槽與廣播進行相對應起來,這樣就能區做我們想要做的事情了。剛開始寫部落格,寫的有點亂,勿怪勿怪!

android 獲取sim卡資訊

sim的provider是iccprovider。既然是provider,就和操作contact的provider類似的,只是有一些微小差別。iccprovider的uri是content icc and,可以通過這個uri來操作sim卡。當然,使用時需要轉換為android的uri物件。andro...

90 s1 sim卡狀態監控

監控sim卡,sim卡沒有繫結就阻止下一步的操作 package com.ldw.safe.activity import android.content.intent import android.content.sharedpreferences import android.os.bundle...

android 獲取sim卡運營商資訊

telephonymanager tm telephonymanager context.getsystemservice context.telephony service telephonymanager 的使用 telephonymanager 提供裝置上獲取通訊服務資訊的入口,應用程式使用這...