gpt4 book ai didi

android - Android 的 sendDataMessage() 工作示例

转载 作者:行者123 更新时间:2023-11-29 00:41:39 25 4
gpt4 key购买 nike

在我可能遇到的几乎所有示例的帮助下,我尝试使用 android.telephony.SmsManagersendDataMessage()。但没有成功。 .

[如果您想查看代码,只需检查 mobiForge 上的“Sending Sms android”链接,我想它是最受欢迎的(也是我用过的)。]

This是关于这个问题的例子之一。

当我使用如下示例中所示的标准接收器时,我的广播接收器确实被激活并且我能够看到包含我的消息的 Toast,从而证明我的接收器已成功运行。 [顺便说一下,我调用的是成功运行的 SmsManager.sendTextMessage(),所以没有问题]。

<receiver android:name=".SMSReceiver"> 
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>

但是,当我使用以下接收器时,我无法获得 Toast,这意味着我的接收器显然被激活,因此没有 Toast。

<receiver android:name=".SMSReceiver"> 
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<data android:port="8901"/>
<data android:scheme="sms"/>
</intent-filter>
</receiver>

我的问题是为什么?如果你们中的某些人认为我的 sendDataMessage() 中的端口号不正确,那么我向你们保证它的 8901 是一个值。

因此,我想请求任何对此有解决方案的人解释解决方案或提供一个工作示例。

感谢任何能提前提供帮助的人!

最好的问候,西丹特

最佳答案

好吧,我似乎已经在我的代码中发现了问题。

解决方法是将上面显示的接收器中的 android:name 值从 android.provider.Telephony.SMS_RECEIVED 更改为 android.intent.action。 DATA_SMS_RECEIVED

所以新的接收器看起来像:

<receiver android:name=".SMSReceiver">  
<intent-filter>
<action android:name="android.intent.action.DATA_SMS_RECEIVED" />
<data android:port="8901"/>
<data android:scheme="sms"/>
</intent-filter>
</receiver>

感谢KRVarma SMSDemo在理解代码后提供了一些非常有用的见解。

关于android - Android 的 sendDataMessage() 工作示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8972905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com