我知道我们可以使用TelephonyManager Class检索单个Sim卡的信息。但是如何检索有关多张SIM卡的信息呢?比如说,我的手机丢失,有人在其中一个插槽中更换了SIM卡。我如何收到包括IMEI号码,电话号码等信息?我只想在更换SIM卡时才想要这些信息。
在TelephonyManager类中,有直接的方法来检索这些信息(如IMEI号码,电话号码,电话网络类型等),但信息仅提供一张SIM卡。我如何收到有关多张SIM卡的所有信息。 P.S-SubscriptionManager类没有像TelephonyManager类那样的直接方法。
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.widget.TextView;
import java.util.List;
import static android.R.id.content;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int subID,simposition,content;
String carrier,number;
TextView textView2=(TextView)findViewById(R.id.text);
SubscriptionManager subManager=(SubscriptionManager)getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
List<SubscriptionInfo> subInfoList=subManager.getActiveSubscriptionInfoList();
for(int i=0;i<subInfoList.size();i++)
{
subID = subInfoList.get(i).getSubscriptionId();
simposition = subInfoList.get(i).getSimSlotIndex();
content=subInfoList.get(i).describeContents();
carrier= (String) subInfoList.get(i).getCarrierName();
number= subInfoList.get(i).getNumber();
}
/* String info2="Sim Details:\n";
info2+="\n SubId:"+subID;
info2+="\n Sim position:"+simposition;
info2+="\n contents:"+content;
info2+="\n carrier:"+carrier;
info2+="\n number:"+number;
textView2.setText(info2);*/
}
}
答案 0 :(得分:2)
您可以使用此工作示例代码来解决您的问题。
参考链接:https://github.com/ITger/DualSIMCard
RequestDispatcher dispatcher = request.getRequestDispatcher("demo.jsp");
dispatcher.forward(request, response);
我希望这会有所帮助。