当前位置: 首页>>代码示例>>Java>>正文


Java SmsManager.getSmsManagerForSubscriptionId方法代码示例

本文整理汇总了Java中android.telephony.SmsManager.getSmsManagerForSubscriptionId方法的典型用法代码示例。如果您正苦于以下问题:Java SmsManager.getSmsManagerForSubscriptionId方法的具体用法?Java SmsManager.getSmsManagerForSubscriptionId怎么用?Java SmsManager.getSmsManagerForSubscriptionId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.telephony.SmsManager的用法示例。


在下文中一共展示了SmsManager.getSmsManagerForSubscriptionId方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: send

import android.telephony.SmsManager; //导入方法依赖的package包/类
@Override
@TargetApi(VERSION_CODES.LOLLIPOP)
public @Nullable synchronized SendConf send(@NonNull byte[] pduBytes, int subscriptionId)
    throws UndeliverableMessageException
{
  beginTransaction();
  try {
    MmsBodyProvider.Pointer pointer = MmsBodyProvider.makeTemporaryPointer(getContext());
    Util.copy(new ByteArrayInputStream(pduBytes), pointer.getOutputStream());

    SmsManager smsManager;

    if (VERSION.SDK_INT >= 22 && subscriptionId != -1) {
      smsManager = SmsManager.getSmsManagerForSubscriptionId(subscriptionId);
    } else {
      smsManager = SmsManager.getDefault();
    }

    smsManager.sendMultimediaMessage(getContext(),
                                     pointer.getUri(),
                                     null,
                                     null,
                                     getPendingIntent());

    waitForResult();

    Log.w(TAG, "MMS broadcast received and processed.");
    pointer.close();

    if (response == null) {
      throw new UndeliverableMessageException("Null response.");
    }

    return (SendConf) new PduParser(response).parse();
  } catch (IOException | TimeoutException e) {
    throw new UndeliverableMessageException(e);
  } finally {
    endTransaction();
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:41,代码来源:OutgoingLollipopMmsConnection.java

示例2: getSmsManagerFor

import android.telephony.SmsManager; //导入方法依赖的package包/类
private SmsManager getSmsManagerFor(int subscriptionId) {
  if (Build.VERSION.SDK_INT >= 22 && subscriptionId != -1) {
    return SmsManager.getSmsManagerForSubscriptionId(subscriptionId);
  } else {
    return SmsManager.getDefault();
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:8,代码来源:SmsSendJob.java

示例3: sendSms

import android.telephony.SmsManager; //导入方法依赖的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();
        }
    }
}
 
开发者ID:GHBlade,项目名称:Msgs,代码行数:34,代码来源:MainActivity.java

示例4: getSmsManager

import android.telephony.SmsManager; //导入方法依赖的package包/类
private SmsManager getSmsManager(Context context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
        Integer subscriptionId = SubscriptionHelper.getCurrentSubscriptionId(context);
        if (subscriptionId != null) {
            return SmsManager.getSmsManagerForSubscriptionId(subscriptionId);
        }
    }

    return SmsManager.getDefault();
}
 
开发者ID:kaliturin,项目名称:BlackList,代码行数:11,代码来源:SMSSendHelper.java

示例5: getSmsManager

import android.telephony.SmsManager; //导入方法依赖的package包/类
private SmsManager getSmsManager(int subscriptionId) {
    SmsManager smsManager = SmsManager.getDefault();
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1) {
        return smsManager;
    }
    SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
    if (null == subscriptionManager) {
        return smsManager;
    }
    if (null == subscriptionManager.getActiveSubscriptionInfo(subscriptionId)) {
        return smsManager;
    }
    return SmsManager.getSmsManagerForSubscriptionId(subscriptionId);
}
 
开发者ID:yeriomin,项目名称:SmsScheduler,代码行数:15,代码来源:SmsSenderService.java

示例6: retrieve

import android.telephony.SmsManager; //导入方法依赖的package包/类
@Override
@TargetApi(VERSION_CODES.LOLLIPOP)
public synchronized @Nullable RetrieveConf retrieve(@NonNull String contentLocation,
                                                    byte[] transactionId,
                                                    int subscriptionId) throws MmsException
{
  beginTransaction();

  try {
    MmsBodyProvider.Pointer pointer = MmsBodyProvider.makeTemporaryPointer(getContext());

    Log.w(TAG, "downloading multimedia from " + contentLocation + " to " + pointer.getUri());

    SmsManager smsManager;

    if (VERSION.SDK_INT >= 22 && subscriptionId != -1) {
      smsManager = SmsManager.getSmsManagerForSubscriptionId(subscriptionId);
    } else {
      smsManager = SmsManager.getDefault();
    }

    smsManager.downloadMultimediaMessage(getContext(),
                                         contentLocation,
                                         pointer.getUri(),
                                         null,
                                         getPendingIntent());

    waitForResult();

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    Util.copy(pointer.getInputStream(), baos);
    pointer.close();

    Log.w(TAG, baos.size() + "-byte response: " + Hex.dump(baos.toByteArray()));

    return (RetrieveConf) new PduParser(baos.toByteArray()).parse();
  } catch (IOException | TimeoutException e) {
    Log.w(TAG, e);
    throw new MmsException(e);
  } finally {
    endTransaction();
  }
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:44,代码来源:IncomingLollipopMmsConnection.java

示例7: retrieve

import android.telephony.SmsManager; //导入方法依赖的package包/类
@Override
@TargetApi(VERSION_CODES.LOLLIPOP)
public synchronized @Nullable RetrieveConf retrieve(@NonNull String contentLocation,
                                                    byte[] transactionId,
                                                    int subscriptionId) throws MmsException
{
  beginTransaction();

  try {
    MmsBodyProvider.Pointer pointer = MmsBodyProvider.makeTemporaryPointer(getContext());

    Log.w(TAG, "downloading multimedia from " + contentLocation + " to " + pointer.getUri());

    SmsManager smsManager;

    if (VERSION.SDK_INT >= 22 && subscriptionId != -1) {
      smsManager = SmsManager.getSmsManagerForSubscriptionId(subscriptionId);
    } else {
      smsManager = SmsManager.getDefault();
    }

    smsManager.downloadMultimediaMessage(getContext(),
                                         contentLocation,
                                         pointer.getUri(),
                                         null,
                                         getPendingIntent());

    waitForResult();

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    Util.copy(pointer.getInputStream(), baos);
    pointer.close();

    Log.w(TAG, baos.size() + "-byte response: ");// + Hex.dump(baos.toByteArray()));

    return (RetrieveConf) new PduParser(baos.toByteArray()).parse();
  } catch (IOException | TimeoutException e) {
    Log.w(TAG, e);
    throw new MmsException(e);
  } finally {
    endTransaction();
  }
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:44,代码来源:IncomingLollipopMmsConnection.java

示例8: send

import android.telephony.SmsManager; //导入方法依赖的package包/类
@Override
@TargetApi(VERSION_CODES.LOLLIPOP)
public @Nullable synchronized SendConf send(@NonNull byte[] pduBytes, int subscriptionId)
    throws UndeliverableMessageException
{
  beginTransaction();
  try {
    MmsBodyProvider.Pointer pointer = MmsBodyProvider.makeTemporaryPointer(getContext());
    Util.copy(new ByteArrayInputStream(pduBytes), pointer.getOutputStream());

    SmsManager smsManager;

    if (VERSION.SDK_INT >= 22 && subscriptionId != -1) {
      smsManager = SmsManager.getSmsManagerForSubscriptionId(subscriptionId);
    } else {
      smsManager = SmsManager.getDefault();
    }

    Bundle configOverrides = new Bundle();
    configOverrides.putBoolean(SmsManager.MMS_CONFIG_GROUP_MMS_ENABLED, true);

    MmsConfig mmsConfig = MmsConfigManager.getMmsConfig(getContext(), subscriptionId);

    if (mmsConfig != null) {
      MmsConfig.Overridden overridden = new MmsConfig.Overridden(mmsConfig, new Bundle());
      configOverrides.putString(SmsManager.MMS_CONFIG_HTTP_PARAMS, overridden.getHttpParams());
      configOverrides.putInt(SmsManager.MMS_CONFIG_MAX_MESSAGE_SIZE, overridden.getMaxMessageSize());
    }

    smsManager.sendMultimediaMessage(getContext(),
                                     pointer.getUri(),
                                     null,
                                     configOverrides,
                                     getPendingIntent());

    waitForResult();

    Log.w(TAG, "MMS broadcast received and processed.");
    pointer.close();

    if (response == null) {
      throw new UndeliverableMessageException("Null response.");
    }

    return (SendConf) new PduParser(response).parse();
  } catch (IOException | TimeoutException e) {
    throw new UndeliverableMessageException(e);
  } finally {
    endTransaction();
  }
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:52,代码来源:OutgoingLollipopMmsConnection.java

示例9: retrieve

import android.telephony.SmsManager; //导入方法依赖的package包/类
@Override
@TargetApi(VERSION_CODES.LOLLIPOP)
public synchronized @Nullable RetrieveConf retrieve(@NonNull String contentLocation,
                                                    byte[] transactionId,
                                                    int subscriptionId) throws MmsException
{
  beginTransaction();

  try {
    MmsBodyProvider.Pointer pointer = MmsBodyProvider.makeTemporaryPointer(getContext());

    Log.w(TAG, "downloading multimedia from " + contentLocation + " to " + pointer.getUri());

    SmsManager smsManager;

    if (VERSION.SDK_INT >= 22 && subscriptionId != -1) {
      smsManager = SmsManager.getSmsManagerForSubscriptionId(subscriptionId);
    } else {
      smsManager = SmsManager.getDefault();
    }

    smsManager.downloadMultimediaMessage(getContext(),
                                         contentLocation,
                                         pointer.getUri(),
                                         null,
                                         getPendingIntent());

    waitForResult();

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    Util.copy(pointer.getInputStream(), baos);
    pointer.close();

    return (RetrieveConf) new PduParser(baos.toByteArray()).parse();
  } catch (IOException | TimeoutException e) {
    Log.w(TAG, e);
    throw new MmsException(e);
  } finally {
    endTransaction();
  }
}
 
开发者ID:SilenceIM,项目名称:Silence,代码行数:42,代码来源:IncomingLollipopMmsConnection.java


注:本文中的android.telephony.SmsManager.getSmsManagerForSubscriptionId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。