如何从Android应用接收短信? [英] How to receive sms from our android app?

查看:109
本文介绍了如何从Android应用接收短信?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要发,从我们的应用程序接收短信并发送得到成功,但接收节目去precation在SmsMessage类,这是由我在网络上展示的网站我的code的。所以,我想对短信方式接收接收方法,这是不是去precated。请建议我的正确的解决方案。

接收code:

 进口android.content.BroadcastReceiver;
进口android.content.Context;
进口android.content.Intent;
进口android.os.Bundle;
进口android.telephony.gsm.SmsMessage;
进口android.widget.Toast;公共类SmsReceiver扩展广播接收器
{    @覆盖
    公共无效的onReceive(上下文的背景下,意图意图)
    {
        // ---获得通过SMS消息---
        捆绑包= intent.getExtras();
        SmsMessage []封邮件= NULL;
        字符串str =;
        如果(捆绑!= NULL)
        {
            // ---检索收到的短信---
            [对象]的PDU =(对象[])bundle.get(的PDU);
            封邮件=新SmsMessage [pdus.length]
            的for(int i = 0; I< msgs.length;我++){
                封邮件[I] = SmsMessage.createFromPdu((字节[])的PDU [I]);
                STR + =短信来自+封邮件[I] .getOriginatingAddress();
                STR + =;
                STR + =封邮件[I] .getMessageBody()的toString()。
                STR + =\\ n;
            }
            // ---显示新短信---
            Toast.makeText(背景下,STR,Toast.LENGTH_SHORT).show();
        }
    }
}


解决方案

进口android.telephony.gsm.SmsMessage;

以上应改为:

进口android.telephony.SmsMessage;

I want to Send and receive sms from our App and sending get successful but receiving shows deprecation in SmsMessage Class of my code which is demonstrated by my websites on the web. So, I want a receive methodology for SMS receiving which is not deprecated. Please suggest me for the right solution.

Receiving Code:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsMessage;
import android.widget.Toast;

public class SmsReceiver extends BroadcastReceiver
{

    @Override
    public void onReceive(Context context, Intent intent) 
    {
        //---get the SMS message passed in---
        Bundle bundle = intent.getExtras();        
        SmsMessage[] msgs = null;
        String str = "";            
        if (bundle != null)
        {
            //---retrieve the SMS message received---
            Object[] pdus = (Object[]) bundle.get("pdus");
            msgs = new SmsMessage[pdus.length];            
            for (int i=0; i<msgs.length; i++){
                msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                
                str += "SMS from " + msgs[i].getOriginatingAddress();                     
                str += " :";
                str += msgs[i].getMessageBody().toString();
                str += "\n";        
            }
            //---display the new SMS message---
            Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
        }                         
    }
}

解决方案

import android.telephony.gsm.SmsMessage;

The above should be changed to:

import android.telephony.SmsMessage;

这篇关于如何从Android应用接收短信?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆