2015-03-18 2 views
1

Я запускаю свое приложение из другого приложения успешно, но я не могу найти экземпляр погоды, которое мое приложение запускается из другого приложения или просто приложением для запуска приложений Android.Как узнать, запущено ли наше приложение по Intent другого приложения

Я использую этот код

Intent intent = getIntent(); 
    if (intent!=null && intent.getType()!=null) //check if any application has executed your app 
    { 
     if(intent.getType().indexOf("image/") != -1) 
      isinint=true; 
    } 

управления не идет внутри внешней if вообще. Я попробовал отладочную переменную намерения, intent.getType() is null Вот почему элемент управления не входит внутрь.

Справка!

+0

Оба приложения r, разработанные u? – r4jiv007

+0

Нет, from whatsapp –

ответ

1

Если у вас есть MainActivity определены в AndroidManifest.xml следующим образом:

<activity android:name="MainActivity" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

Вы можете просто проверить Intent категорию. Если одна из категорий, равная android.intent.category.LAUNCHER, приложение было уставлено от запуска, иначе оно не было.

if (intent != null && intent.hasCategory("android.intent.category.LAUNCHER")) { 
    //started from lanucher 
} 
+0

Получение ошибки во второй строке для строки (String category: intent.getCategories()) { –

+0

@VivekWarde проверить, что getCategories не является нулевым. – mklimek

+0

03-18 20: 21: 26.905: E/AndroidRuntime (18696): вызвано: java.lang.NullPointerException: попытка вызвать метод интерфейса «java.util.Iterator java.util.Set.iterator()» на нуле ссылка на объект –

Смежные вопросы