很简单,我想在点击它时拨打一个号码。但是,如果你在阿曼里面,我想拨打一个号码,如果你在外面我想拨打另一个号码。
我试过这个,想知道它是否正确的方法......或者我必须依赖别的东西
PackageManager pm = getPackageManager();
boolean hasTelephony = pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
if(hasTelephony)
{
TelephonyManager tManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if(tManager != null)
{
String locale = tManager.getSimCountryIso();
if(locale != null && locale.toLowerCase().equals("om"))
{
i.setData(Uri.parse("tel:800"));
}
else
i.setData(Uri.parse("tel:+9687"));
}
else
i.setData(Uri.parse("tel:+9687"));
}
else
i.setData(Uri.parse("tel:+9687"));
答案 0 :(得分:1)
您正走在正确的道路上,但您可能想要致电:
tManager.getNetworkCountryIso()
通过这种方式,您可以获得手机所连接的移动网络所在的国家/地区,而不是SIM卡所在的国家/地区(始终相同)。
旁注:您不需要检查设备是否具有电话功能 - 如果它没有,那么tManager将无效。