HTC One广播接收器无法正常工作

时间:2014-03-08 17:54:13

标签: android broadcastreceiver android-manifest smsmanager

<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

2 个答案:

答案 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>