相关疑难解决方法(0)

Android - 短信广播接收器

我一直试图让这个程序工作,但到目前为止没有运气.我无法找到我做错的地方.我不确定代码或调试是否有问题.

我正在尝试收到新短信到达时的通知.

这是我的计划:

package Technicaljar.SMSBroadcastReceiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;

public class SMSBroadcastReceiver extends BroadcastReceiver {

        private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
        private static final String TAG = "SMSBroadcastReceiver";

        @Override
        public void onReceive(Context context, Intent intent) {
             Log.i(TAG, "Intent recieved: " + intent.getAction());

                if (intent.getAction() == 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 …
Run Code Online (Sandbox Code Playgroud)

sms android broadcastreceiver android-intent

51
推荐指数
3
解决办法
9万
查看次数

BroadcastReceiver + SMS_RECEIVED

我希望我的应用能够捕获传入的短信.这方面有一些例子.看起来我们只需要这样做:

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

// SMSReceiver.java
public class SMSReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) { 
        Log.i(TAG, "SMS received.");
        ....
    }
}
Run Code Online (Sandbox Code Playgroud)

它是否正确?我正在给手机发送一些短信,但日志声明永远不会被打印出来.我确实在手机上安装了一些其他短信应用程序,当收到短信时显示弹出窗口 - 他们是否以某种方式阻止了传递给我的应用程序的意图,他们只是完全消耗它?

谢谢

android

20
推荐指数
3
解决办法
5万
查看次数

为广播接收者提供最高优先级的整数值是多少?

为广播接收机提供最高优先级的整数值是多少?

<intent-filter android:priority="1">
  <action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver

14
推荐指数
3
解决办法
1万
查看次数

短信在我的短信应用和环聊中收到,虽然我打电话给abortBroadcast()

我自己开发了一个短信拦截器Android应用程序,它可以很好地捕获所有垃圾邮件,直到最近谷歌更新了它的环聊应用程序才能使用短信.

问题:我的应用和环聊都收录了短信!即使该消息被我的应用程序阻止并存储在其私有数据库中,它也会出现在环聊应用程序中,因此同时存在于消息应用程序库中.

似乎abortBroadcast()不再起作用了.在环聊更新之前,一切都运转良好.

我也试过摆弄,android:priority但徒劳无功.

sms android broadcastreceiver hangout

4
推荐指数
1
解决办法
4097
查看次数

SMS广播接收器不起作用

好的,我已经尝试了Stack上的所有解决方案,但没有任何效果。我当前的方法从MainActivity注册了“ SmsListener”接收器。我要做的就是初始化onReceive方法。没有错误;它根本不是在广播。我究竟做错了什么?在此处粘贴适用的代码。可能需要的其他任何东西都可以问。

更新:这是一个类似的未解决的问题, 我在Android 6.0.1下进行测试时,当Google Hangouts或其他应用收到它时,请听Android传入的SMS。目标Sdk版本为22。最小Sdk为19。值得注意的是,我刚刚在装有Android 4.4.2的LG Optimus GPro上测试了我的原始代码,并且可以正常工作。在装有Android 6.0.1的Nexus上,它仍然无法正常运行。

表现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.biapps.makin_biscuits">
<uses-sdk android:minSdkVersion="4" />

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"/>
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action `android:name="android.service.notification.NotificationListenerService" />`
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".ContactsList">
        <intent-filter>
            <category android:name="android.intent.category.ALTERNATIVE" />
        </intent-filter>
    </activity>

    <receiver …
Run Code Online (Sandbox Code Playgroud)

java sms android listener broadcastreceiver

1
推荐指数
2
解决办法
3828
查看次数