Android 如何在我的应用程序中辨别哪个第三方应用程序称为startActivity

Android 如何在我的应用程序中辨别哪个第三方应用程序称为startActivity,android,android-intent,android-activity,start-activity,Android,Android Intent,Android Activity,Start Activity,假设我的设备上有两个应用程序,GoodApp和EvilApp。他们两个我都没写。这两个应用程序都可以使用ACTION_SEND Intent在我的应用程序中启动导出的活动,并传入数据。他们都称之为startActivity,而不是startActivityForResult 我想信任从GoodApp收到的数据,但不信任并忽略从GoodApp收到的数据 我的活动如何判断是哪个应用启动了它?Activity.getCallingActivity()返回null,因为它不是为结果而启动的。我无法向应用

假设我的设备上有两个应用程序,GoodApp和EvilApp。他们两个我都没写。这两个应用程序都可以使用ACTION_SEND Intent在我的应用程序中启动导出的活动,并传入数据。他们都称之为startActivity,而不是startActivityForResult

我想信任从GoodApp收到的数据,但不信任并忽略从GoodApp收到的数据


我的活动如何判断是哪个应用启动了它?Activity.getCallingActivity()返回null,因为它不是为结果而启动的。我无法向应用程序发回一条信息,询问“是你给我发送了这个吗?”因为它们不是为响应而编写的,它们的代码也不受我的控制。我有什么办法可以分辨出它们之间的区别吗?

要求应用程序使用
startActivityForResult
,以便您处理它们的请求?(:

可能会给你一个提示,但它的文档说明不要将它用于像你所要求的那样的事情