1
如何通過數據廣播接收器使用sendTextMessage()
當我已經使用intent.putExtra("key","value");
並且當onReceive
函數調用的intent.getStringExtra("key")
值爲空到廣播接收機。傳數據使用sendTextMessage()
我該怎麼辦?請幫忙。
注意:當使用sendBroadcast(new Intent(smsSent).putExtra("key","value"));
時,的值通過。
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>
即時對不起,檢查編輯問題,這不是一個打字錯誤。 thanx – Yousif
@GODOFWAR檢查我編輯的答案 – Daniel
非常好的兄弟。謝謝:) – Yousif