本文整理汇总了Java中ws.com.google.android.mms.pdu.PduParser类的典型用法代码示例。如果您正苦于以下问题:Java PduParser类的具体用法?Java PduParser怎么用?Java PduParser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PduParser类属于ws.com.google.android.mms.pdu包,在下文中一共展示了PduParser类的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: send
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的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: onRun
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
@Override
public void onRun() {
if (data == null) {
Log.w(TAG, "Received NULL pdu, ignoring...");
return;
}
PduParser parser = new PduParser(data);
GenericPdu pdu = parser.parse();
if (pdu != null && pdu.getMessageType() == PduHeaders.MESSAGE_TYPE_NOTIFICATION_IND) {
MmsDatabase database = DatabaseFactory.getMmsDatabase(context);
Pair<Long, Long> messageAndThreadId = database.insertMessageInbox((NotificationInd)pdu);
Log.w(TAG, "Inserted received MMS notification...");
ApplicationContext.getInstance(context)
.getJobManager()
.add(new MmsDownloadJob(context,
messageAndThreadId.first,
messageAndThreadId.second,
true));
}
}
开发者ID:redcracker,项目名称:TextSecure,代码行数:25,代码来源:MmsReceiveJob.java
示例3: retrieve
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
public RetrieveConf retrieve(Apn contentApn, byte[] transactionId, boolean usingMmsRadio, boolean useProxyIfAvailable)
throws IOException, ApnUnavailableException
{
byte[] pdu = null;
final boolean useProxy = useProxyIfAvailable && contentApn.hasProxy();
final String targetHost = useProxy
? contentApn.getProxy()
: Uri.parse(contentApn.getMmsc()).getHost();
if (checkRouteToHost(context, targetHost, usingMmsRadio)) {
Log.w(TAG, "got successful route to host " + targetHost);
pdu = execute(constructRequest(contentApn, useProxy));
}
if (pdu == null) {
throw new IOException("Connection manager could not obtain route to host.");
}
RetrieveConf retrieved = (RetrieveConf)new PduParser(pdu).parse();
if (retrieved == null) {
Log.w(TAG, "Couldn't parse PDU, byte response: " + Arrays.toString(pdu));
Log.w(TAG, "Couldn't parse PDU, ASCII: " + new String(pdu));
throw new IOException("Bad retrieved PDU");
}
sendRetrievedAcknowledgement(transactionId, usingMmsRadio, useProxy);
return retrieved;
}
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:30,代码来源:IncomingLegacyMmsConnection.java
示例4: onRun
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
@Override
public void onRun() {
if (data == null) {
Log.w(TAG, "Received NULL pdu, ignoring...");
return;
}
PduParser parser = new PduParser(data);
GenericPdu pdu = null;
try {
pdu = parser.parse();
} catch (RuntimeException e) {
Log.w(TAG, e);
}
if (isNotification(pdu) && !isBlocked(pdu)) {
MmsDatabase database = DatabaseFactory.getMmsDatabase(context);
Pair<Long, Long> messageAndThreadId = database.insertMessageInbox((NotificationInd)pdu, subscriptionId);
Log.w(TAG, "Inserted received MMS notification...");
ApplicationContext.getInstance(context)
.getJobManager()
.add(new MmsDownloadJob(context,
messageAndThreadId.first,
messageAndThreadId.second,
true));
} else if (isNotification(pdu)) {
Log.w(TAG, "*** Received blocked MMS, ignoring...");
}
}
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:33,代码来源:MmsReceiveJob.java
示例5: isRelevant
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
private boolean isRelevant(Context context, Intent intent) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.DONUT) {
return false;
}
if (!ApplicationMigrationService.isDatabaseImported(context)) {
return false;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT &&
Telephony.Sms.Intents.WAP_PUSH_RECEIVED_ACTION.equals(intent.getAction()) &&
Util.isDefaultSmsProvider(context))
{
return false;
}
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT &&
TextSecurePreferences.isInterceptAllMmsEnabled(context))
{
return true;
}
byte[] mmsData = intent.getByteArrayExtra("data");
PduParser parser = new PduParser(mmsData);
GenericPdu pdu = parser.parse();
if (pdu.getMessageType() != PduHeaders.MESSAGE_TYPE_NOTIFICATION_IND)
return false;
NotificationInd notificationPdu = (NotificationInd)pdu;
if (notificationPdu.getSubject() == null)
return false;
return WirePrefix.isEncryptedMmsSubject(notificationPdu.getSubject().getString());
}
开发者ID:redcracker,项目名称:TextSecure,代码行数:37,代码来源:MmsListener.java
示例6: retrieve
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
public RetrieveConf retrieve(boolean usingMmsRadio, boolean useProxyIfAvailable)
throws IOException, ApnUnavailableException
{
byte[] pdu = null;
final boolean useProxy = useProxyIfAvailable && apn.hasProxy();
final String targetHost = useProxy
? apn.getProxy()
: Uri.parse(apn.getMmsc()).getHost();
try {
if (checkRouteToHost(context, targetHost, usingMmsRadio)) {
Log.w(TAG, "got successful route to host " + targetHost);
pdu = makeRequest(useProxy);
}
} catch (IOException ioe) {
Log.w(TAG, ioe);
}
if (pdu == null) {
throw new IOException("Connection manager could not obtain route to host.");
}
RetrieveConf retrieved = (RetrieveConf)new PduParser(pdu).parse();
if (retrieved == null) {
Log.w(TAG, "Couldn't parse PDU, byte response: " + Arrays.toString(pdu));
Log.w(TAG, "Couldn't parse PDU, ASCII: " + new String(pdu));
throw new IOException("Bad retrieved PDU");
}
return retrieved;
}
开发者ID:redcracker,项目名称:TextSecure,代码行数:33,代码来源:IncomingMmsConnection.java
示例7: isRelevant
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
private boolean isRelevant(Context context, Intent intent) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.DONUT) {
return false;
}
if (!ApplicationMigrationService.isDatabaseImported(context)) {
return false;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT &&
Telephony.Sms.Intents.WAP_PUSH_RECEIVED_ACTION.equals(intent.getAction()) &&
Util.isDefaultSmsProvider(context))
{
return false;
}
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT &&
TextSecurePreferences.isInterceptAllMmsEnabled(context))
{
return true;
}
byte[] mmsData = intent.getByteArrayExtra("data");
PduParser parser = new PduParser(mmsData);
GenericPdu pdu = parser.parse();
if (pdu == null || pdu.getMessageType() != PduHeaders.MESSAGE_TYPE_NOTIFICATION_IND) {
Log.w(TAG, "Received Invalid notification PDU");
return false;
}
NotificationInd notificationPdu = (NotificationInd)pdu;
if (notificationPdu.getSubject() == null)
return false;
return WirePrefix.isEncryptedMmsSubject(notificationPdu.getSubject().getString());
}
开发者ID:Agilitum,项目名称:TextSecureSMP,代码行数:39,代码来源:MmsListener.java
示例8: retrieve
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
@Override
@TargetApi(VERSION_CODES.LOLLIPOP)
public synchronized @Nullable RetrieveConf retrieve(@NonNull String contentLocation,
byte[] transactionId) throws MmsException
{
beginTransaction();
try {
MmsBodyProvider.Pointer pointer = MmsBodyProvider.makeTemporaryPointer(getContext());
Log.w(TAG, "downloading multimedia from " + contentLocation + " to " + pointer.getUri());
SmsManager.getDefault().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:Agilitum,项目名称:TextSecureSMP,代码行数:34,代码来源:IncomingLollipopMmsConnection.java
示例9: send
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
@Override
@TargetApi(VERSION_CODES.LOLLIPOP)
public @Nullable synchronized SendConf send(@NonNull byte[] pduBytes) throws UndeliverableMessageException {
beginTransaction();
try {
MmsBodyProvider.Pointer pointer = MmsBodyProvider.makeTemporaryPointer(getContext());
Util.copy(new ByteArrayInputStream(pduBytes), pointer.getOutputStream());
SmsManager.getDefault().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:Agilitum,项目名称:TextSecureSMP,代码行数:31,代码来源:OutgoingLollipopMmsConnection.java
示例10: onRun
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
@Override
public void onRun() {
if (data == null) {
Log.w(TAG, "Received NULL pdu, ignoring...");
return;
}
PduParser parser = new PduParser(data);
GenericPdu pdu = null;
try {
pdu = parser.parse();
} catch (RuntimeException e) {
Log.w(TAG, e);
}
if (isNotification(pdu) && !isBlocked(pdu)) {
MmsDatabase database = DatabaseFactory.getMmsDatabase(context);
Pair<Long, Long> messageAndThreadId = database.insertMessageInbox((NotificationInd)pdu);
Log.w(TAG, "Inserted received MMS notification...");
ApplicationContext.getInstance(context)
.getJobManager()
.add(new MmsDownloadJob(context,
messageAndThreadId.first,
messageAndThreadId.second,
true));
} else if (isNotification(pdu)) {
Log.w(TAG, "*** Received blocked MMS, ignoring...");
}
}
开发者ID:Agilitum,项目名称:TextSecureSMP,代码行数:33,代码来源:MmsReceiveJob.java
示例11: isRelevant
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
private boolean isRelevant(Context context, Intent intent) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.DONUT) {
return false;
}
if (!ApplicationMigrationService.isDatabaseImported(context)) {
return false;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT &&
Telephony.Sms.Intents.WAP_PUSH_RECEIVED_ACTION.equals(intent.getAction()) &&
Util.isDefaultSmsProvider(context))
{
return false;
}
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT &&
SilencePreferences.isInterceptAllMmsEnabled(context))
{
return true;
}
byte[] mmsData = intent.getByteArrayExtra("data");
PduParser parser = new PduParser(mmsData);
GenericPdu pdu = parser.parse();
if (pdu == null || pdu.getMessageType() != PduHeaders.MESSAGE_TYPE_NOTIFICATION_IND) {
Log.w(TAG, "Received Invalid notification PDU");
return false;
}
NotificationInd notificationPdu = (NotificationInd)pdu;
if (notificationPdu.getSubject() == null)
return false;
return WirePrefix.isEncryptedMmsSubject(notificationPdu.getSubject().getString());
}
开发者ID:SilenceIM,项目名称:Silence,代码行数:39,代码来源:MmsListener.java
示例12: onRun
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
@Override
public void onRun() {
if (data == null) {
Log.w(TAG, "Received NULL pdu, ignoring...");
return;
}
PduParser parser = new PduParser(data);
GenericPdu pdu = null;
try {
pdu = parser.parse();
} catch (RuntimeException e) {
Log.w(TAG, e);
}
if (isNotification(pdu) && !isBlocked(pdu)) {
MmsDatabase database = DatabaseFactory.getMmsDatabase(context);
Pair<Long, Long> messageAndThreadId = database.insertMessageInbox((NotificationInd)pdu, subscriptionId);
MasterSecret masterSecret = KeyCachingService.getMasterSecret(context);
Log.w(TAG, "Inserted received MMS notification...");
database.markIncomingNotificationReceived(messageAndThreadId.second);
if (!SilencePreferences.isMediaDownloadAllowed(context))
MessageNotifier.updateNotification(context, masterSecret, messageAndThreadId.second);
ApplicationContext.getInstance(context)
.getJobManager()
.add(new MmsDownloadJob(context,
messageAndThreadId.first,
messageAndThreadId.second,
true));
} else if (isNotification(pdu)) {
Log.w(TAG, "*** Received blocked MMS, ignoring...");
}
}
开发者ID:SilenceIM,项目名称:Silence,代码行数:39,代码来源:MmsReceiveJob.java
示例13: handleMmsNotification
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
private void handleMmsNotification(Intent intent) {
byte[] mmsData = intent.getByteArrayExtra("data");
PduParser parser = new PduParser(mmsData);
GenericPdu pdu = parser.parse();
if (pdu != null && pdu.getMessageType() == PduHeaders.MESSAGE_TYPE_NOTIFICATION_IND) {
MmsDatabase database = DatabaseFactory.getMmsDatabase(context);
Pair<Long, Long> messageAndThreadId = database.insertMessageInbox((NotificationInd)pdu);
Log.w("MmsReceiver", "Inserted received MMS notification...");
scheduleDownload((NotificationInd)pdu, messageAndThreadId.first, messageAndThreadId.second);
}
}
开发者ID:Securecom,项目名称:Securecom-Text,代码行数:14,代码来源:MmsReceiver.java
示例14: retrieveMms
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
public static RetrieveConf retrieveMms(Context context, String url, String apn,
boolean usingMmsRadio, boolean proxyIfPossible)
throws IOException, ApnUnavailableException
{
MmsConnectionParameters connectionParameters = getMmsConnectionParameters(context, apn);
byte[] pdu = null;
for (MmsConnectionParameters.Apn param : connectionParameters.get()) {
try {
if (proxyIfPossible && param.hasProxy()) {
if (checkRouteToHost(context, param.getProxy(), usingMmsRadio)) {
pdu = makeRequest(url, param.getProxy(), param.getPort());
}
} else {
if (checkRouteToHost(context, Uri.parse(url).getHost(), usingMmsRadio)) {
pdu = makeRequest(url, null, -1);
}
}
if (pdu != null) break;
} catch (IOException ioe) {
Log.w("MmsDownloadHelper", ioe);
}
}
if (pdu == null) {
throw new IOException("Connection manager could not obtain route to host.");
}
RetrieveConf retrieved = (RetrieveConf)new PduParser(pdu).parse();
if (retrieved == null) {
throw new IOException("Bad retrieved PDU");
}
return retrieved;
}
开发者ID:Securecom,项目名称:Securecom-Text,代码行数:38,代码来源:MmsDownloadHelper.java
示例15: sendMms
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
public static SendConf sendMms(Context context, byte[] mms, String apn,
boolean usingMmsRadio, boolean useProxyIfAvailable)
throws IOException
{
byte[] response = sendBytes(context, mms, apn, usingMmsRadio, useProxyIfAvailable);
return (SendConf) new PduParser(response).parse();
}
开发者ID:Securecom,项目名称:Securecom-Text,代码行数:8,代码来源:MmsSendHelper.java
示例16: retrieve
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的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
示例17: send
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
private SendConf send(byte[] pduBytes, boolean useMmsRadio, boolean useProxyIfAvailable) throws IOException {
byte[] response = sendBytes(pduBytes, useMmsRadio, useProxyIfAvailable);
return (SendConf) new PduParser(response).parse();
}
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:5,代码来源:OutgoingLegacyMmsConnection.java
示例18: send
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的package包/类
public SendConf send(boolean useMmsRadio, boolean useProxyIfAvailable) throws IOException {
byte[] response = sendBytes(useMmsRadio, useProxyIfAvailable);
return (SendConf) new PduParser(response).parse();
}
开发者ID:redcracker,项目名称:TextSecure,代码行数:5,代码来源:OutgoingMmsConnection.java
示例19: retrieve
import ws.com.google.android.mms.pdu.PduParser; //导入依赖的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
注:本文中的ws.com.google.android.mms.pdu.PduParser类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论