[英]Issues with notification pending intent in Samsung device
当我们在未决意图中发送Parcelable
类时,具有 Android 版本 10 或 11 的三星设备在接收器活动中收到null
只有三星设备有什么问题?
// sending putextra
Intent intent = new Intent(this, AnswerJavaActivity.class);
intent.putExtra(Constants.INCOMING_CALL_INVITE, callInvite);
PendingIntent pendingIntent = PendingIntent.getActivity(this, notificationId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// receiving code sample
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_answer);
handleIncomingCallIntent(getIntent());
}
private void handleIncomingCallIntent(Intent intent) {
if (intent != null && intent.getAction() != null) {
Log.d(TAG, "handleIncomingCallIntent-");
String action = intent.getAction();
activeCallInvite = intent.getParcelableExtra(Constants.INCOMING_CALL_INVITE);}}
自定义Parcelable
对象一直是一个问题,因为通常“额外”需要由 Android 框架中的代码解码,并且它不知道如何解码您的自定义对象。 有两种可能的解决方案:
用Bundle
包裹您的自定义Parcelable
。 有时这会起作用,因为 Android 框架不必解开Bundle
。
或者,您需要将自定义对象序列化(转换)为byte
数组并将其放入Intent
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.