Мой код успешно отправляет MMS. Подход использует ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
{
NetworkRequest.Builder builder = new NetworkRequest.Builder();
builder.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS);
NetworkRequest networkRequest = builder.build();
cm.requestNetwork(networkRequest, new ConnectivityManager.NetworkCallback()
{
@Override
public void onAvailable(Network network)
{
super.onAvailable(network);
// do MMS sending here using HTTP/network APIs
cm.unregisterNetworkCallback(this);
}
});
}
В телефоне с двумя SIM-картами этот подход, похоже, выбирает SIM-карту по умолчанию и отправляет MMS с этого номера (я не уверен, как выбирается значение по умолчанию).
Как указать слот для SIM-карты или идентификатор подписки в составе запроса NetworkRequest? Или есть другой способ?
Просто повторюсь, этот вопрос касается только MMS, а не SMS. Кроме того, речь не идет об отправке MMS программно (это обсуждается в другом месте в SO). Вопрос специфичен для устройств с двумя SIM-картами.
Спасибо