android - 在 BroadcastReceiver 中,对于 SMS 发送和传递操作,getResultCode() 始终返回 -1

标签 android sms broadcastreceiver

我猜想,按照大多数人的说法,我是从 http://mobiforge.com/developing/story/sms-messaging-android 派生出我的短信处理代码的。 。我正在尝试使用以下代码捕获已发送和已传递消息的广播(对于已发送消息):

        appContext.registerReceiver(new BroadcastReceiver() {
            @Override
            public void onReceive(Context arg0, Intent arg1) {
                Log.i("Debug",
                        "My embedded receiver: "
                                + String.valueOf(getResultCode()));
            }
        }, new IntentFilter("iam.applications.SmsReceiver.SMS_SENT"));

即使 SMS 已成功发送,这也始终会导致 getResultCode() 返回值 -1。我不知道还有什么方法可以判断我的短信是否已发送。

我还对 BroadcastReceiver 进行了子类化,看看这是否有任何区别,但事实并非如此。始终返回 -1:

@Override
public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();

    Log.i("Debug",
            "Result code in onReceive: " + String.valueOf(getResultCode()));
}

我创建的 PendingIntent 如下所示(来自用于处理长 SMS 消息部分的 for 循环的 fragment ):

        Intent sentIntent = new Intent(
                "iam.applications.SmsReceiver.SMS_SENT");
        sentIntent.putExtra(SmsHandler.PHONE_NUMBER, phoneNumber);
        sentIntent.putExtra(SmsHandler.MESSAGE, message);
        sentPIArray.add(PendingIntent.getBroadcast(appContext,
                (int) Calendar.getInstance().getTimeInMillis(), sentIntent,
                PendingIntent.FLAG_UPDATE_CURRENT));

最佳答案

我是个大白痴:

// Field descriptor #14 I
public static final int RESULT_OK = -1;

关于android - 在 BroadcastReceiver 中,对于 SMS 发送和传递操作,getResultCode() 始终返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12225431/

相关文章:

基于 Android 位置的应用程序

kubernetes - 警报管理器SMS通知

android - 小部件。 Activity 泄露了 IntentReceiver

java - 如何使用java以编程方式发送短信?

java - 通过短信发送数据[]。转换 iso-8859-1

Android iBeacon接收单个指定信号

分析 v3 中删除了 Android 推荐?

Android:java.lang.IllegalArgumentException:未知颜色

android - android 小部件中的 TextView 不更新

android - 创建新的 Android 应用程序时没有 "compile with"选项?