以下是从App A到App B进行通信的简单方法
// Call from App A Intent intent = new Intent("some.Activity.inAppB"); startActivityForResult(intent, 0);
现在在上面的语句中,我想从AOSP跟踪,如果Intent调用的活动来自同一个应用程序或不同的应用程序。
特别是在AOSP中,我可以获得此信息。
[编辑]
确切地说,我想知道是否有办法跟踪“some.Activity.inAppB”是属于同一个应用程序还是属于不同的应用程序?如果活动不在同一个应用程序中,那么我可以找到该活动属于哪个应用程序的位置?
谢谢
答案 0 :(得分:-1)
事实证明,PackageManager.resolveActivity()似乎是我正在寻找的那个。
Intent intent = new Intent("some.Activity.inAppB");
ResolveInfo ri = packageManagerInstance.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
if(ri != null) {
ri.activityInfo.packageName // is the packageName for the activiy provided in the intent
}