我的应用未显示在打开共享位置的列表中

时间:2019-07-18 15:03:57

标签: android intentfilter deeplink

嗨,我正在开发一个应用程序,以在应用程序内的Google Map片段上打开共享位置。当用户触摸共享的位置链接时,我的应用程序应显示为“打开时带有列表”。这是我的清单

这就是我尝试添加意图过滤器

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="http" android:host="maps.google.com" android:pathPattern="/maps"/>
  <data android:scheme="https" android:host="maps.google.com" android:pathPattern="/maps"/>
  <data android:scheme="geo"/>
</intent-filter>

我希望在点击位置上,我的应用可以通过对话框打开显示。

1 个答案:

答案 0 :(得分:0)

我已经尝试过该清单条目,并且对我有用。

<activity
        <intent-filter>  
          <!-- Filter to run activity without geo --> 
            <action android:name="com.example.MYACTION" />                
            <category android:name="android.intent.category.DEFAULT" />                     
        </intent-filter>
        <intent-filter>   
            <!-- Filter for geo scheme geo -->                  
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />               
            <data android:scheme="geo" />
        </intent-filter>
    </activity>
我的活动的

onCreate()如下

protected void onCreate(Bundle savedInstanceState) {
  Intent intent = getIntent();  
  String action = intent.getAction();
  Uri data = intent.getData();

  if(Intent.ACTION_VIEW.equals(action) ) {
    if(data != null && "geo".equals(data.getScheme())) {  

      // Displaying map when there is geo Data
    }
  }
  else {
    // Other code when there is no geo DATA from intent
  }
}

您可以尝试让我知道。