2013-02-05 13 views
5

Czy można dowiedzieć się, który pakiet lub proces wysłał wynik działania?Rezultat intencyjny, jak się dowiedzieć, kto go wysłał?

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

znalazłem sposób, aby wiedzieć, które aplikacje są w stanie obsługiwać tę intencję, ale także chcą wiedzieć, który z nich został wybrany, lub raczej, co jeden zwrócony wynik. czy to możliwe?

+0

ciekawe pytanie ...... – Pragnani

+0

możliwy duplikat [Jak znaleźć źródło intencji w systemie Android?] (Http://stackoverflow.com/questions/4789155/how-to-find-intent-source-in- android) – nhahtdh

Odpowiedz

1

Zależy od aplikacji, w jaki sposób zostały opracowane. Niektóre aplikacje zwracają obiekt Intent pełen rzeczy, inne puste lub puste.

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

Spróbuj zalogować/przeczytać wszystkie możliwe wartości wewnątrz Intent.

0

Można również spróbować spojrzeć na Logcat. Zawiera informacje o tym, kiedy rozpoczęto zamiar i jak. Próbowałem go używać, aby wiedzieć, czy zamiar zaczyna się, czy nie.

Powiązane problemy