如何从 ActivityManagerService 中的 Intent 获取 Parcelable Data?
How to get Parceable Data from Intent in ActivityMangerService?
如:
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(...)
之后,当意图的目标 activity 启动时,我无法从函数字段 (intent
) 获取任何数据, 我可以获取 Bundle 中的所有数据。
那么 ActivityMangerService
中发生了什么,为什么我无法从 services.jar
进度中读取任何数据???
如果您尝试从 ActivityManagerService 中的意图获取 parcel 对象,您可能会收到 ClassNotFoundException。
parcelData 的 class 仅在您的应用进程中加载,而不在 system_server 中加载。
如:
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(...)
之后,当意图的目标 activity 启动时,我无法从函数字段 (intent
) 获取任何数据, 我可以获取 Bundle 中的所有数据。
那么 ActivityMangerService
中发生了什么,为什么我无法从 services.jar
进度中读取任何数据???
如果您尝试从 ActivityManagerService 中的意图获取 parcel 对象,您可能会收到 ClassNotFoundException。
parcelData 的 class 仅在您的应用进程中加载,而不在 system_server 中加载。