2014-11-24 69 views
0

我已经阅读了很多问题从stackoverflow,但无法找到一个工作代码。短信广播接收器不能在电话工作

我的广播接收器代码:

public class incom extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 
Toast.makeText(context, "received",Toast.LENGTH_LONG).show(); 
    } 
} 

我的清单代码:

<uses-sdk 
    android:minSdkVersion="10" 
    android:targetSdkVersion="19" /> 

<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission> 
<uses-permission android:name="android.permission.READ_SMS" /> 
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission> 
<uses-permission android:name="android.permission.READ_CALENDAR"/> 
<uses-permission android:name="android.permission.WRITE_CALENDAR"/> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

    <receiver android:name="com.androidexample.broadcastreceiver.incom"> 
     <intent-filter android:priority="999"> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
    </receiver> 

</application> 

我已经尝试了许多solution.It在模拟器上工作,但无法在手机上。可以有人帮忙。提前感谢。我也试过最高整数值

+0

如果这是在Android版本> 3.0上运行,需要包括可推出第一个将应用程序从_stopped_状态的活动。否则,您的Receiver将无法工作。 – 2014-11-24 13:21:28

回答

0

而不是

<receiver android:name="com.androidexample.broadcastreceiver.incom"> 
     <intent-filter android:priority="999"> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
    </receiver> 

更改为

<receiver android:name="com.androidexample.broadcastreceiver.incom" > 
<intent-filter> 
     <action android:name="android.provider.Telephony.SMS_RECEIVED" 
      android:priority="999" 
      /> 
</intent-filter> 
</receiver> 
+0

感谢您的答复。但这也不起作用 – user3790145 2014-11-24 12:16:08

+0

显示您的日志,如果有任何错误,或尝试卸载并安装您的应用程序 – 2014-11-24 12:19:12

+0

没有错误日志cat.I重新安装it.If你有任何工作教程或代码请帮忙 – user3790145 2014-11-24 12:37:16