如何知道您的应用程序是否由其他应用程序的Intent启动

问题描述 投票:1回答:2

我正在从其他应用程序成功启动我的应用程序,但我无法找到我的应用程序从其他应用程序或Android应用程序启动器启动的实例天气。

我正在使用此代码

    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变量,intent.getType()null这就是为什么控件没有进入里面。

救命 !!

android android-intent
2个回答
1
投票

如果您在AndroidManifest.xml中定义了MainActivity,如下所示:

<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
投票

仅使用intent.getType()

  Intent intent = getIntent();
            if (intent.getType() != null) {
                if (intent.getType().contains("image/")) {
                  // Started from other apps
            }
© www.soinside.com 2019 - 2024. All rights reserved.