如何从 ActivityMangerService 中的 Intent 获取 Parceable 数据?

问题描述

例如:

Intent intent = new Intent("some action");
intent.putExtra("data",parcelData);//the parcelData is a Parceable Object
startActivity(intent);

通过调用 StartActivity 函数,在 Instrumentation.java 调用 Activitymanger.getService().startActivity(...) 之前,我可以从调试进度中获取所有包裹数据。

遇到 ActivitymangerService.startActivity(...) 后,无法从 funciotn 字段 (intent) 中获取任何数据,当 Intent 的目标 Activity 开始时,我可以获取 Bundle 中的所有数据。

那么在 ActivitymangerService 中发生了什么,为什么我无法从 services.jar 进度读取任何数据???

解决方法

如果您尝试从 ActivityManagerService 中的意图获取包裹对象,您可能会收到 ClassNotFoundException。

parcelData 的类仅在您的应用进程中加载​​,而不是在 system_server 中。