1

SMS が送信されたときに通知を表示するコードを作成しました。

何らかの理由で、コードはすべての下位 API レベルと同様に Android 7 では機能しません。

2 番目のパラメーター (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);
}

完了した受信者

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はどういう意味ですか?

4

0 に答える 0