本文整理汇总了Java中android.telephony.SubscriptionInfo类的典型用法代码示例。如果您正苦于以下问题:Java SubscriptionInfo类的具体用法?Java SubscriptionInfo怎么用?Java SubscriptionInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SubscriptionInfo类属于android.telephony包,在下文中一共展示了SubscriptionInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getActiveSubscriptionInfoList
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
public @NonNull List<SubscriptionInfoCompat> getActiveSubscriptionInfoList() {
if (Build.VERSION.SDK_INT < 22) {
return new LinkedList<>();
}
List<SubscriptionInfo> subscriptionInfos = SubscriptionManager.from(context).getActiveSubscriptionInfoList();
if (subscriptionInfos == null || subscriptionInfos.isEmpty()) {
return new LinkedList<>();
}
List<SubscriptionInfoCompat> compatList = new LinkedList<>();
for (SubscriptionInfo subscriptionInfo : subscriptionInfos) {
compatList.add(new SubscriptionInfoCompat(subscriptionInfo.getSubscriptionId(),
subscriptionInfo.getDisplayName()));
}
return compatList;
}
示例2: setDefaultSubscription
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
private boolean setDefaultSubscription(final SubType subType, final SubscriptionInfo subInfo) {
if (subInfo == null)
return false;
try {
if (subType == SubType.SMS) {
XposedHelpers.callMethod(mSubMgr, "setDefaultSmsSubId",
subInfo.getSubscriptionId());
} else if (subType == SubType.DATA) {
XposedHelpers.callMethod(mSubMgr, "setDefaultDataSubId",
subInfo.getSubscriptionId());
}
return true;
} catch (Throwable t) {
XposedBridge.log(t);
return false;
}
}
示例3: getDefaultVoiceSubscriptionSimSlot
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
private int getDefaultVoiceSubscriptionSimSlot() {
try {
final TelecomManager telecomManager =
(TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
final TelephonyManager telephonyManager =
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
PhoneAccountHandle pah = (PhoneAccountHandle) XposedHelpers.callMethod(telecomManager,
"getUserSelectedOutgoingPhoneAccount");
if (pah != null) {
PhoneAccount pa = telecomManager.getPhoneAccount(pah);
int subId = getSubIdForPhoneAccount(telephonyManager, pa);
SubscriptionInfo si = mSubMgr.getActiveSubscriptionInfo(subId);
if (si != null) {
return si.getSimSlotIndex();
}
}
return -1;
} catch (Throwable t) {
XposedBridge.log(t);
return -1;
}
}
示例4: onHandleIntent
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
@Override
protected void onHandleIntent(Intent intent) {
log.d("onHandleIntent");
//SubscriptionManager 该类主要包含了所有sim卡的信息
SubscriptionManager mSubscriptionManager = SubscriptionManager.from(this);
int simcnt = mSubscriptionManager.getActiveSubscriptionInfoCount();
List<SubscriptionInfo> lstSim = mSubscriptionManager.getActiveSubscriptionInfoList();
for (int i = 0; i < lstSim.size(); i++) {
SubscriptionInfo si = lstSim.get(i);
if (si != null)
log.d(si.toString());
}
TelecomManager telecomManager = (TelecomManager) getSystemService(Context.TELECOM_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
List<PhoneAccountHandle> lstPA=telecomManager.getCallCapablePhoneAccounts();
int accoutSum =lstPA.size();
for(int i=0;i<accoutSum;i++)
log.d("accountSum: " + accoutSum +lstPA.get(i) );
}
}
示例5: changeDefaultSub
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
public void changeDefaultSub(final SubType subType, final int simSlot, final boolean showToast) {
boolean result;
SubscriptionInfo si = mSubMgr.getActiveSubscriptionInfoForSimSlotIndex(simSlot);
if (subType == SubType.VOICE) {
if (si == null && (simSlot == 0 || simSlot == 1)) {
result = false;
} else {
result = setDefaultVoiceSubscription(si);
}
} else {
result = setDefaultSubscription(subType, si);
}
if (showToast || !result) {
final String msg = result ? getChangeOkMsg(subType, getSubDisplayName(si)) :
getChangeFailedMsg(subType);
Toast.makeText(mContext, msg, Toast.LENGTH_LONG).show();
}
}
示例6: getSubItemList
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
private List<IIconListAdapterItem> getSubItemList(final SubType subType) {
List<IIconListAdapterItem> list = new ArrayList<>();
if (subType == SubType.VOICE) {
list.add(new SubListItem(null));
final TelecomManager telecomManager =
(TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
final TelephonyManager telephonyManager =
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
final Iterator<PhoneAccountHandle> phoneAccounts =
telecomManager.getCallCapablePhoneAccounts().listIterator();
while (phoneAccounts.hasNext()) {
final PhoneAccount phoneAccount =
telecomManager.getPhoneAccount(phoneAccounts.next());
int subId = getSubIdForPhoneAccount(telephonyManager, phoneAccount);
if (subId != -1) {
list.add(new SubListItem(mSubMgr.getActiveSubscriptionInfo(subId)));
}
}
} else {
for (SubscriptionInfo si : mSubMgr.getActiveSubscriptionInfoList())
if (si != null)
list.add(new SubListItem(si));
}
return list;
}
示例7: subscriptionToPhoneAccountHandle
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
private PhoneAccountHandle subscriptionToPhoneAccountHandle(final SubscriptionInfo subInfo) {
if (subInfo == null)
return null;
final TelecomManager telecomManager =
(TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
final TelephonyManager telephonyManager =
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
final Iterator<PhoneAccountHandle> phoneAccounts =
telecomManager.getCallCapablePhoneAccounts().listIterator();
while (phoneAccounts.hasNext()) {
final PhoneAccountHandle phoneAccountHandle = phoneAccounts.next();
final PhoneAccount phoneAccount = telecomManager.getPhoneAccount(phoneAccountHandle);
if (subInfo.getSubscriptionId() == getSubIdForPhoneAccount(telephonyManager, phoneAccount)) {
return phoneAccountHandle;
}
}
return null;
}
示例8: getActiveSubscriptionInfoList
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
public @NonNull List<SubscriptionInfoCompat> getActiveSubscriptionInfoList() {
if (Build.VERSION.SDK_INT < 22) {
return new LinkedList<>();
}
List<SubscriptionInfo> subscriptionInfos = SubscriptionManager.from(context).getActiveSubscriptionInfoList();
if (subscriptionInfos == null || subscriptionInfos.isEmpty()) {
return new LinkedList<>();
}
List<SubscriptionInfoCompat> compatList = new LinkedList<>();
for (SubscriptionInfo subscriptionInfo : subscriptionInfos) {
compatList.add(new SubscriptionInfoCompat(subscriptionInfo.getSubscriptionId(),
subscriptionInfo.getDisplayName(),
subscriptionInfo.getMcc(),
subscriptionInfo.getMnc()));
}
return compatList;
}
示例9: fillDualSimList
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
@TargetApi(Build.VERSION_CODES.LOLLIPOP_MR1)
private void fillDualSimList(PreferenceScreen preferenceScreen) {
PreferenceCategory category = (PreferenceCategory) preferenceScreen.findPreference("sms_category");
ListPreference preference = (ListPreference) category.findPreference(Preferences.DUALSIM_SIM);
List<String> simIds = new ArrayList<>();
List<String> simNames = new ArrayList<>();
simIds.add(String.valueOf(Preferences.VALUE_DEFAULT_SIM));
simNames.add(getString(R.string.sim_default));
SubscriptionManager subscriptionManager = SubscriptionManager.from(getActivity());
for (SubscriptionInfo subscriptionInfo : subscriptionManager.getActiveSubscriptionInfoList()) {
simIds.add(String.valueOf(subscriptionInfo.getSubscriptionId()));
simNames.add(getString(R.string.sim_name, subscriptionInfo.getSimSlotIndex() + 1, subscriptionInfo
.getDisplayName()));
}
preference.setEntries(simNames.toArray(new String[simNames.size()]));
preference.setEntryValues(simIds.toArray(new String[simIds.size()]));
preference.setDefaultValue(String.valueOf(Preferences.VALUE_DEFAULT_SIM));
preference.setSummary(preference.getEntry());
}
示例10: getActiveSubscriptionInfo
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
public Optional<SubscriptionInfoCompat> getActiveSubscriptionInfo(int subscriptionId) {
if (Build.VERSION.SDK_INT < 22) {
return Optional.absent();
}
SubscriptionInfo subscriptionInfo = SubscriptionManager.from(context).getActiveSubscriptionInfo(subscriptionId);
if (subscriptionInfo != null) {
return Optional.of(new SubscriptionInfoCompat(subscriptionId, subscriptionInfo.getDisplayName()));
} else {
return Optional.absent();
}
}
示例11: sendSms
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP_MR1)
private void sendSms(final int which,String phone,String context) {
SubscriptionInfo sInfo = null;
final SubscriptionManager sManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
List<SubscriptionInfo> list = sManager.getActiveSubscriptionInfoList();
if (list.size() == 2) {
// 双卡
sInfo = list.get(which);
} else {
// 单卡
sInfo = list.get(0);
}
if (sInfo != null) {
int subId = sInfo.getSubscriptionId();
SmsManager manager = SmsManager.getSmsManagerForSubscriptionId(subId);
if (!TextUtils.isEmpty(phone)) {
ArrayList<String> messageList =manager.divideMessage(context);
for(String text:messageList){
manager.sendTextMessage(phone, null, text, null, null);
}
Toast.makeText(this, "信息正在发送,请稍候", Toast.LENGTH_SHORT)
.show();
} else {
Toast.makeText(this, "无法正确的获取SIM卡信息,请稍候重试",
Toast.LENGTH_SHORT).show();
}
}
}
示例12: getActiveDataSubscriptionInfo
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
/**
* Get information about the SIM that is currently used for data
* @return info or NULL if there is no active sim or the active sim cannot be detected
*/
public ActiveDataSubscriptionInfo getActiveDataSubscriptionInfo() {
SubscriptionInfo activeSubscription;
ActiveDataSubscriptionInfo info = new ActiveDataSubscriptionInfo();
if (subscriptionManager.getActiveSubscriptionInfoCount() > 1) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
int dataSubscriptionId = subscriptionManager.getDefaultDataSubscriptionId();
activeSubscription = subscriptionManager.getActiveSubscriptionInfo(dataSubscriptionId);
}
else {
activeSubscription = null;
}
}
else if (subscriptionManager.getActiveSubscriptionInfoCount() == 1) {
activeSubscription = subscriptionManager.getActiveSubscriptionInfoList().get(0);
}
else {
activeSubscription = null;
}
if (activeSubscription != null) {
//fill info from this
info.setCountry(activeSubscription.getCountryIso());
String simOperator = activeSubscription.getMcc() + "-" + String.format("%02d", activeSubscription.getMnc());
info.setSimOperator(String.valueOf(simOperator));
info.setSimOperatorName(activeSubscription.getCarrierName().toString());
info.setDisplayName(activeSubscription.getDisplayName().toString());
info.setSimCount(subscriptionManager.getActiveSubscriptionInfoCount());
return info;
}
return null;
}
示例13: getSubscriptions
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
@Nullable
public static List<SubscriptionInfo> getSubscriptions(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
SubscriptionManager sm = SubscriptionManager.from(context);
return sm.getActiveSubscriptionInfoList();
}
return null;
}
示例14: getCurrentSubscriptionId
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
/**
* @return id of the current subscription (id of SIM)
*/
@Nullable
public static Integer getCurrentSubscriptionId(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
SubscriptionInfo info = getCurrentSubscription(context);
if (info != null) return info.getSubscriptionId();
}
return null;
}
示例15: getCurrentSubscriptionName
import android.telephony.SubscriptionInfo; //导入依赖的package包/类
@Nullable
public static String getCurrentSubscriptionName(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
SubscriptionInfo info = getCurrentSubscription(context);
if (info != null) return info.getDisplayName().toString();
}
return null;
}