当前位置:编程学习 > wap >>

android里如何接收短信?

如题

从网上查到的接收方法基本上都是继承BroadcastReceiver,并重写onReceive方法,在AndroidManifest.xml里添加SMS_RECEIVED权限和<receiver>段落.

但我在实际验证是,发现来短信时并没有响应onReceive方法.

 

不知道是什么问题?是不是还有其他要注意的东西?有没有端口什么的限制?

知道的同志帮帮忙,谢谢
--------------------编程问答-------------------- 还要在AndroidManifest.xml里写上你继承BroadcastReceiver的类 --------------------编程问答-------------------- 楼上的哥们,你说的那个,我写了,在<receiver>段落里.
<receiver android:name=".C_SmsReceiver" android:enabled="true">
  <intent-filter>
    <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
  </intent-filter>
</receiver>

C_SmsReceive就是继承BroadcastReceiver的类 --------------------编程问答-------------------- <uses-permission android:name="android.permission.RECEIVE_SMS" />
这个写了吗? --------------------编程问答-------------------- 这个权限我添加了 --------------------编程问答--------------------     @Override
    public void onReceive(Context context, Intent intent) {
        Bundle extras = intent.getExtras();
        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();
            Intent intent = new Intent();
            intent.setClass(context, SmsReceivedDialog.class);
            context.startActivity(intent);
        }
    }
以上的代码,正常跳转到SmsReceivedDialog.class里,SmsReceivedDialo里有其他的显示操作。
PS: 基于2.2的SDK下。 --------------------编程问答-------------------- 应该没问题啊,你刷新代码,然后重新启动模拟器试一下 --------------------编程问答-------------------- 5楼的兄弟说的2.2里才能用?
有没有1.5,1.6能用的,毕竟现在很多的android手机还是低版本的,开发时肯定要兼顾低版本的 --------------------编程问答-------------------- 这个我觉得在模拟器上测试收短信的时候,是在DDMS中的Emulator control中设置的 --------------------编程问答-------------------- 还可以 --------------------编程问答-------------------- 我也是 试过网上无数的教程和代码片断 没有一个成功收短信的,根本没触发,研究了好几个星期,但example自带的示例能收发,但里面的示例相当复杂,代码相当多,说明网上的代码都是有缺憾的,缺没人指出来,悲剧 --------------------编程问答-------------------- 静态注册不行 试试动态注册的吧 还有 接收短信不建议用BroadcastReceiver 现在的360 qq什么的会把一些短信直接拦截  你是监听不到的。
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,