0
<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,我无法让 SMS 广播接收器在 HTC One 上的 Android 4.1.3 上工作,但没有帮助。这是 HTC 设备的已知问题吗?

HTC One:安卓4.3

4

2 回答 2

0

从 3.1 开始,当安装应用程序时,它们处于“停止”状态,因此在用户明确启动它们之前它们将无法运行。按下强制停止将使它们返回此状态。

因此,当应用程序首次安装时,系统会完全忽略它们,除非用户手动启动某些东西:很可能是单击启动器活动或添加应用程序小部件。在用户未手动启动应用程序之前,您的应用程序不会收到任何广播。在这里检查

于 2014-03-08T18:14:14.657 回答
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>
于 2014-04-28T17:05:14.977 回答