- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用是关于地理围栏的。当触发地理围栏时,我需要发送短信。
它的工作几乎完美,但我无法接收广播来检查是否已发送 SMS。我会解释我自己:
当用户进入地理围栏时,会调用地理围栏 Intent 服务,并发送短信。它就像一个魅力,但我需要确定 SMS 是否已发送,或者是否有任何问题(即没有信号)并尝试再次发送。
所以,首先我尝试以这种方式发送短信:
private void sendsms() {
String SMS_SENT = "SMS_SENT";
final PendingIntent sentPendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
// check if SMS has been sent
smsSentReceiver =new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
switch (getResultCode()) {
case Activity.RESULT_OK:
Log.e("SMS", "SMS sent successfully");
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Log.e("SMS","Generic failure cause");
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Log.e("SMS", "Service is currently unavailable");
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Log.e("SMS", "No pdu provided");
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Log.e("SMS", "Radio was explicitly turned off");
break;
}
}
};
registerReceiver(smsSentReceiver, new Intent());
// Get the default instance of SmsManager
// Send a text based SMS
SmsManager smsMgr = SmsManager.getDefault();
smsMgr.sendTextMessage(towhom, null, customtxt, sentPendingIntent, null);
这有效,但发送短信后没有任何反应,根本没有日志。
然后我尝试了另一种方式,创建接收器并放入 list :
private smsSentReceiver smsSentReceiver;
private void sendsms() {
final PendingIntent sentPendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
smsSentReceiver = new smsSentReceiver();
registerReceiver(smsSentReceiver, new IntentFilter());
// Get the default instance of SmsManager
// Send a text based SMS
SmsManager smsMgr = SmsManager.getDefault();
smsMgr.sendTextMessage(towhom, null, customtxt, sentPendingIntent, null);
这是smsSentReceiver.java
public class smsSentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
switch (getResultCode()) {
case Activity.RESULT_OK:
Log.e("SMS", "SMS sent successfully");
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Log.e("SMS","Generic failure cause");
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Log.e("SMS", "Service is currently unavailable");
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Log.e("SMS", "No pdu provided");
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Log.e("SMS", "Radio was explicitly turned off");
break;
}
}
}
和 list :
<receiver
android:name=".smsSentReceiver"
android:enabled="true"
>
</receiver>
根本没有关于短信状态的日志...
关于为什么我没有收到短信状态有什么想法吗?
PS: 只在模拟器上测试过
编辑:
根据@Mike M 的说法,我最后尝试的是这个。评论:
private void sendsms() {
final PendingIntent sentPendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(this, smsSentReceiver.class), PendingIntent.FLAG_CANCEL_CURRENT);
SmsManager smsMgr = SmsManager.getDefault();
smsMgr.sendTextMessage(towhom, null, customtxt, sentPendingIntent, null);
还是什么都没有...
最佳答案
IntentService
将在完成工作后立即自行停止,并且在其上动态注册的任何 Receiver 也会消失。在您的第一个 fragment 中,当广播最终发送时,接收者可能无法接收广播,因为 sendTextMessage()
调用将立即返回,而 PendingIntent
将被异步触发。
静态注册 Receiver 类,就像您在第二个代码 fragment 中所做的那样,即使在 IntentService
终止后,Receiver 也可以接收广播,因为生成的 Receiver 实例不会被绑定(bind)给它。但是,您用于 PendingIntent
的 Intent
没有正确定位 Receiver 类。将其更改为 new Intent(this, smsSentReceiver.class)
。
最后,logs with certain tags are suppressed ,出于某种原因,"SMS"
标签(确切地)就是其中之一。将该标签更改为此处未列出的内容;例如,“smsSentReceiver”
。
关于java - 从 Internet 服务发送短信 - 无法接收广播以检查是否已发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47798576/
像其他人一样,我需要在 Internet Explorer 6 和 Internet Explorer 7 上测试我的代码。现在,Internet Explorer 8 为开发人员提供了一些很棒的工具
我已经浏览了几个小时的注册表,但似乎无法找到控制 Internet Explorer 临时 Internet 文件设置的注册表。我想从自动更改为其他内容。 最佳答案 HKCU\Software\Mic
这个问题在这里已经有了答案: 10年前关闭。 Possible Duplicate: Running Internet Explorer 6, Internet Explorer 7, and Int
作为一名开发者,我发现新的 Internet Explorer 版本完全是一场噩梦。我关闭了 Windows 功能,但无法安装 Internet Explorer 10 。它说它已经安装,但事实并非如
是否有任何分析器工具可以调试DOM中的哪个javascript /对象导致Internet Explorer挂起/崩溃。 CPU使用率将超过60%,我想知道其背后的原因,是哪个脚本/ Flash Ob
我正在尝试确定Internet Explorer上TTF字体格式的支持状态。 (我手头没有任何Windows计算机可以尝试。)The table at caniuse指出,从版本9开始的IE支持TTF
是否可以在 Internet Explorer 中切换多个版本的 JDK/JRE? 想要使用 jdk 1.4、jdk 5 和 jdk 6。 谢谢,迈克尔 最佳答案 据我所知,这并不容易做到,因为 IE
这应该是IE8下载问题的老问题了。我使用 PHP 来设置响应头,如: header("Pragma: public"); header("Expires: 0"); header("Content-t
这个问题在这里已经有了答案: 10年前关闭。 Possible Duplicate: Running Internet Explorer 6, Internet Explorer 7, and Int
我正在使用新的Internet Explorer 11开发人员工具将文档模式切换为“8”,但条件注释仍然被忽略,也就是说,它们没有被正确解析并且表现得像普通注释。因此,浏览器不会请求/加载条件注释内的
我在我的一个站点上遇到 Internet Explorer 6 问题,我真的希望我安装它而不是 Internet Explorer 7。有没有一种快速的方法来做到这一点? 最佳答案 下载Microso
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
如何访问 Internet Explorer 运行实例的经典 Internet Explorer COM 自动化对象?也就是说,如果我在多个窗口中打开 Internet Explorer,如何从 Po
string filename = Server.UrlPathEncode(Path.GetFileName(_Filename))); Response.AddHeader("Content-Di
当我尝试使用 Apache 2.2 在 Windows7(64 位)上的 IE9 或 IE10 中打开 localhost 时,解析 URL 需要很长时间。其他浏览器没有问题并立即解析 URL,只有
我有一个批处理文件,必须启动 Internet Explorer 并打开 www.google.com .当整个页面加载完成时,它应该终止 IE 进程,即关闭该系统中的所有 IE 实例。我的批处理文件
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6 个月前关闭。 Improve t
基本上,无论我使用 IE 访问哪个网站,我都可以看到那些黑色/白色形状,一旦我将鼠标移到它们上,它们就会消失。 想知道是否有人知道可能导致这种情况的原因? 另外:http://imageshack.c
我检查了所有注册表,但找不到所有已安装扩展的列表。 此时,IE 扩展/加载项的任何一般位置都会有所帮助。 最佳答案 取自 here : 浏览器帮助对象 - 旨在增强浏览器功能的浏览器插件。 条目可以在
这是一个两部分的问题。我正在构建一个网页,我需要知道: 有没有办法检测 IE 是否启用了平滑滚动(如果是,如何)? 有没有办法强制 IE 关闭我网页的平滑滚动功能? 明确地说,我不是在问如何关闭整个计
我是一名优秀的程序员,十分优秀!