Android 7.1 PendingIntent中丢失了Serializable extra

时间:2017-01-12 20:00:34

标签: android android-7.1-nougat

我编写的代码显示发送短信时的通知。

出于某种原因,代码在Android 7上不起作用,就像在所有较低的API级别上一样。

第二个参数(contact)在CompletedReceiver类中丢失并检索为null。

这是我的代码:

SendMessage方法

    private static void sendMessage(Context context, Message message, SystemContact contact) {
        SmsManager smsManager = SmsManager.getDefault();

// Create sent intent.
Intent sentIntent = new Intent(context, SmsController.SendResultReceiver.class);
        sentIntent.putExtra(context.getString(R.string.key_message_id), message.getId());
    sentIntent.putExtra(context.getString(R.string.key_contact), contact);

    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, RequestCodes.SENT_SMS, sentIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    smsManager.sendTextMessage(contact.getPhoneNr(), null, message.getMsg(), pendingIntent, null);
}

CompletedReceiver

private void initPassedData(Context context, Intent intent) {
        this.message = IntentHelper.getMessageById(context, intent);
        this.contact = (SystemContact) intent.getSerializableExtra(context.getString(R.string.key_contact));
    }

PendingIntent.FLAG_UPDATE_CURRENT 是什么意思?

0 个答案:

没有答案