Откройте приложение для Android, используя фильтр намерений, не работает

#android

#Android

Вопрос:

Я использую следующий код в файле манифеста Android, но он не открывает приложение.

    <activity
        android:name="ActivityIntroScreen"
        android:label="@string/app_name" 
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
                <intent-filter>
            <data android:scheme="market" android:host="details" android:path="" />
            <data android:scheme="http" android:host="play.google.com" android:pathPattern="/store/apps/details?id=.*" />
            <data android:scheme="https" android:host="play.google.com" android:pathPattern="/store/apps/details?id=.*" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>
    </activity>
  

Где ошибка …??

Комментарии:

1. я думаю, что это связано с более чем одним указанным действием…

2. Удалите <category android:name="android.intent.category.BROWSABLE" /> и попробуйте..

3. да, это тоже не работает

4. Не могли бы вы, пожалуйста, попробовать после закомментирования 2-го фильтра намерений… Это работает???

Ответ №1:

вам придется использовать отдельные фильтры намерений для каждой схемы. взгляните сюда: https://github.com/ligi/PassAndroid/blob/master/src/main/AndroidManifest.xml

Ответ №2:

Это что-то в этом блоке:

 <intent-filter>
          <data android:scheme="market" android:host="details" android:path="" />
          <data android:scheme="http" android:host="play.google.com" android:pathPattern="/store/apps/details?id=.*" />
          <data android:scheme="https" android:host="play.google.com" android:pathPattern="/store/apps/details?id=.*" />
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
  

Без этого блока он будет работать на 100%. Просто используйте процесс исключения. 🙂