Android 访问sms的用户数据头

Android 访问sms的用户数据头,android,header,sms,Android,Header,Sms,是否可以从sms消息中提取用户数据头?如果是,对如何进行有何想法? 此外,是否可以在发送sms之前更改数据头 接收短信的源代码如下: @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); Log.i(LOG_TAG, "onReceive"); if (extras == null)

是否可以从sms消息中提取用户数据头?如果是,对如何进行有何想法?
此外,是否可以在发送sms之前更改数据头

接收短信的源代码如下:

@Override
    public void onReceive(Context context, Intent intent) {
        Bundle extras = intent.getExtras();
        Log.i(LOG_TAG, "onReceive");
        if (extras == null)
            return;

        Object[] pdus = (Object[]) extras.get("pdus");

        for (int i = 0; i < pdus.length; i++) {
            SmsMessage message = SmsMessage.createFromPdu((byte[]) pdus[i]);
            String fromAddress = message.getOriginatingAddress();
            String messageBody = message.getMessageBody().toString();

            Log.i(LOG_TAG, "From: " + fromAddress + " message: " + messageBody);

            addNotification(context, fromAddress, messageBody);
        }
    }
@覆盖
公共void onReceive(上下文、意图){
Bundle extras=intent.getExtras();
Log.i(Log_标签,“onReceive”);
如果(附加==null)
返回;
Object[]pdus=(Object[])extras.get(“pdus”);
对于(int i=0;i

所以,它是byte[]类型,所以如果您对中描述的UDH有很好的了解,我认为这是可能的

谢谢。但我对这一点还不熟悉。你知道如何从中提取udh值吗?如果你想简单地从SMS消息中获取udh,你可以参考它,它只提供用户数据。而不是API级别4中添加的用户数据头
public byte[]getUserData()返回用户数据节减去用户数据头(如果存在)。