<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<receiver android:name="com.example.set.sms" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
出于某种原因,HTC One不会让应用程序监听任何传入的SMS。虽然调试,它甚至没有点击onReceive
方法。我已经看过HTC One, I am unable to get a SMS Broadcast Receiver to work on Android 4.1.3 on HTC one但没有帮助。
这是HTC设备的已知问题吗?
HTC One:Android 4.3
答案 0 :(得分:0)
从3.1开始安装应用程序时,它们处于“已停止”状态,因此在用户显式启动它们之前它们将无法运行。按下强制停止将使它们返回此状态。
因此,当首次安装应用程序时,除非用户手动启动某些内容,否则系统将完全忽略它们:单击启动器活动或添加应用程序窗口小部件。 在用户未手动启动应用之前,您的应用将不会收到任何广播。查看here
答案 1 :(得分:0)
在我的 HTC One 上尝试过此操作。
更改您的接收方:
<receiver android:name="com.example.set.sms" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
要强>
<receiver android:name="com.mike.broadcastexample.BroadcastReceiverClass" android:exported="true" >
<intent-filter android:priority="999" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>