Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用sendTextMessage()将数据传递到广播接收器_Java_Android_Android Intent_Broadcastreceiver_Sms - Fatal编程技术网

Java 使用sendTextMessage()将数据传递到广播接收器

Java 使用sendTextMessage()将数据传递到广播接收器,java,android,android-intent,broadcastreceiver,sms,Java,Android,Android Intent,Broadcastreceiver,Sms,使用sendTextMessage()时如何将数据传递到广播接收器 我使用了intent.putExtra(“键”、“值”)并且当调用onReceive函数时,intent.getStringExtra(“key”)的值为null 我该怎么办?请帮忙 注:使用时sendBroadcast(新意图(smsSent).putExtra(“键”、“值”)传递了值 Activity.java void send_sms(){ String smsSent = "SMS_SENT"; String sms

使用
sendTextMessage()时如何将数据传递到广播接收器
我使用了
intent.putExtra(“键”、“值”)
并且当调用
onReceive
函数时,
intent.getStringExtra(“key”)
的值为null

我该怎么办?请帮忙

注:使用时
sendBroadcast(新意图(smsSent).putExtra(“键”、“值”)传递了

Activity.java

void send_sms(){
String smsSent = "SMS_SENT";
String smsDelivered = "SMS_DELIVERED";
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
new Intent(smsSent).putExtra("key1", "value1"), 0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(smsDelivered).putExtra("key2", "value2"), 0);

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("5556", null, "hi", sentPI, deliveredPI);
}
MyReceiver.java

public class MyReceiver extends BroadcastReceiver {

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

 Log.i("my receiver"," "+intent.getAction());// this statement works fine
 Log.i("my receiver"," "+intent.getStringExtra("key1"));// null is returned
}
manifest.xml

<receiver android:name=".MyReceiver">
<intent-filter>
    <action android:name="SMS_SENT" />
    <action android:name="SMS_DELIVERED" /> 
    </intent-filter>
</receiver>

编辑:

我想问题可能是,你没有提到你的包裹。 在您的清单中尝试以下操作:

<intent-filter>
    <action android:name="your.package.name.SMS_DELIVERED" />
</intent-filter>
用您的包名替换
您的.package.name

希望有帮助:)

对不起,请检查编辑问题,这不是打字错误。检查一下这个,你会发现什么的。
String smsDelivered = "your.package.name.SMS_DELIVERED";