- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用此代码以编程方式在 Activity 上注册 BroadcastReceiver
br=new BroadcastReceiver() {
private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
private static final String TAG = "cyb";
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "ok", Toast.LENGTH_LONG).show();
Log.e(TAG, "Intent recieved: " + intent.getAction());
if (intent.getAction().equals(SMS_RECEIVED)) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[])bundle.get("pdus");
final SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
}
if (messages.length > -1) {
Log.e(TAG, "Message recieved: " + messages[0].getMessageBody());
}
}
}
}
};
IntentFilter inf=new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
inf.setPriority(999);
registerReceiver(br, inf);
我还向 AndroidManifest.xml 添加了此权限
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
当收到新短信时,我的应用程序不会收到任何通知。我正在使用带环聊和 GoSMS 的 Android 4.2
更新 2:
卸载 GOSMS 后它可以正常工作。但我想接收 SMS_RECEIVED Intent 操作,即使用户是否安装了 GoSMS 应用程序。这可能吗?任何替代解决方案?
最佳答案
您还需要实现 MMS 接收器 + HeadlessSmsSendService +ComposeSmsActivity
详情见链接: http://android-developers.blogspot.fr/2013/10/getting-your-sms-apps-ready-for-kitkat.html
关于android - BroadcastReceiver 不适用于 SMS_RECEIVED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21660151/
我的 bradcastreceiver 中的 onreceived 函数没有被触发。 我通过从不同的手机发送短信来对此进行测试,但日志似乎没有显示任何 Activity 。 这里是接收类 packag
我希望我的应用能够捕获收到的 SMS 消息。周围有几个这样的例子。看起来我们只需要这样做: // AndroidManifest.xml // SMSRecei
在查看了多个资源和问题后,我仍然面临检测传入 SMS 消息的问题。 下面的代码展示了基础知识: 在接收时显示 toast 的广播接收器类 public class IncomingSms extend
我知道如何使用 intent 过滤器 android.provider.Telephony.SMS_RECEIVED 但我的问题是这对 MMS 有用吗?? 最佳答案 我在 list 中使用以下代码来监
我正在尝试使用此代码以编程方式在 Activity 上注册 BroadcastReceiver br=new BroadcastReceiver() {
我正在尝试创建一个新的 SMS 接收监听器。 我用谷歌搜索了这个问题,我发现的只是它需要 android.provider.Telephony.SMS_RECEIVED 但在android 2.2中不
我最近使用 HPFortify 服务对我的 Android 源代码进行了代码扫描。他们报告了关于其中一个广播接收器的安全漏洞。他们建议使用广播公司权限来减少攻击向量。这样你就限制了广播者,否则任何恶意
我有一个工作应用程序,它使用 BroadcastReceiver 来处理传入的 SMS 消息。我的问题是处理收到的短信的最佳方式是什么?目前我正在启动一个新线程来完成这项工作,如下面我的 Broadc
我正在编写一个需要接收短信的应用程序,每个人都在他们的代码中使用“android.provider.Telephony.SMS_RECEIVED_ACTION” Intent 操作,但看起来 API
我的 BroadcastReceiver 在设备从另一部普通电话接收短信时工作正常,但如果短信是通过运营商的电子邮件网关发送的,例如“myphonenumber@mycarrier.com”,那么消息
我不知道在哪里可以找到SMS_RECEIVED的定义或详细描述,可以设置如下: 我在网站上搜索过http://developer.android.com/reference/packages.htm
收到短信时,我无法捕捉到 Intent 。以下是我的服务代码。我能够捕捉到“Intent.ACTION_SCREEN_ON”和“Intent.ACTION_SCREEN_OFF”,但我无法捕捉到 SM
所以我正在设置一个程序,当您收到一条消息、彩信或短信时,它会播放设置好的声音。我让它与 SMS 一起工作,但 MMS 没有做任何事情。这是运行 BroadcastReceiver 的类的代码: /**
我正在尝试使用 android.provider.Telephony.SMS_RECEIVED 来捕获传入的短信。 我构建了一个简单的应用程序,可以在 2.x 上运行,但是当我在 4.0 模拟器或设备
我最近更新了我的应用程序以支持 android 6 marshmallow。我按照 https://developer.android.com/training/permissions/request
我最近一直对这个感到困惑,在 2.3.5 之前这似乎工作正常(在我同事的设备上)。但是在我的身上它现在永远不会触发。 我已经剥离了代码并制作了一个非常简单的测试应用程序来查看发生了什么。基本上,onR
我的 Samsung Galaxy S2 有最新更新,现在我的应用程序停止工作(应用程序不接收短信)。我使用 SMS_RECEIVED 操作从 BroadcastReceiver 扩展了 SMSRec
我有一个应用程序,允许用户转发收到的 SMS 消息。过去,我将 android.provider.Telephony.SMS_RECEIVED 的 intent-filter 中的 android:p
这是我的 Menifest 文件 这是我的广播接收器类 public class OTPReceiver extends BroadcastReceiver { @Override p
我遇到了非常令人沮丧的问题。 我创建了大多数在线和书籍教程所说的 SMS 接收器。 AndroidManifest.xml:
我是一名优秀的程序员,十分优秀!