问题描述
例如:
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 中。