意图结果,如何知道谁发送了它?

时间:2013-02-05 17:58:34

标签: android android-intent

是否可以知道哪个包或进程发送了Intent结果?

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);

我找到了一种方法来了解哪些应用程序能够处理此意图,但我也想知道哪一个被选中,或者更确切地说,哪一个返回了结果。这可能吗?

2 个答案:

答案 0 :(得分:1)

这取决于应用程序如何开发。 有些应用程序返回一个充满东西的Intent对象,其他为空或null。

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent i) {
         if (i!=null){        
            i.getPackage();
            i.getExtras();
            i.getData();
            i.getScheme();
            i.getType();
           }
        }

尝试记录/读取Intent内的所有可能值。

答案 1 :(得分:0)

您还可以尝试查看Logcat。它包含有关意图何时开始以及如何使用它的信息。我尝试使用它来了解意图是否开始。