gpt4 book ai didi

android - onReceive - 从未在短信应用程序中调用

转载 作者:行者123 更新时间:2023-11-29 17:47:54 28 4
gpt4 key购买 nike

我在 mainfest.xml 中声明了我的 BroadcastReceiver 但从未调用过 onReceive() 方法。怎么了?我不想使用注册/注销方法。

Activity :

Intent sentI = new Intent("SMS_SENT");
PendingIntent sentPi = PendingIntent.getBroadcast(this, 0, sentI, 0);
SmsManager manager = SmsManager.getDefault();
manager.sendTextMessage(number, null, message.toString(), sentPi, null);

SmsSentReceiver:

 public class SmsSentReceiver extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {

switch (getResultCode()) {
case Activity.RESULT_OK:
Log.i("SmsSentReceiver", "SMS sent");
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Log.i("SmsSentReceiver", "Generic failure");
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Log.i("SmsSentReceiver", "No service");
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Log.i("SmsSentReceiver", "Null PDU");
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Log.i("SmsSentReceiver", "Radio off");
break;
}
}
}

AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />


<receiver android:name="com.mateusz.simplesmsapp.broadcasts.SmsSentReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_SENT" />
</intent-filter>
</receiver>

最佳答案

您已为此操作在 list 中注册接收器:"android.provider.Telephony.SMS_SENT"。但是,您为广播创建的 Intent 正在使用此操作:"SMS_SENT"。这些需要匹配。

关于android - onReceive - 从未在短信应用程序中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25137946/

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