Запуск другого действия из доверенного веб-действия (TWA)

У меня проблемы с попыткой запустить другое действие из TWA через намеренный URI."intent://#Intent;scheme=subscriptionschemetwa;package=com.package.www.twa;end"Название пакета, конечно, уникально.

Я поигрался с ними, добавил host, action, extras и т. Д. В URI, но ничего не подействовало.

Поскольку я новичок в нативной разработке, буду признателен за помощь. Само приложение пока не общедоступно в Google Play (только для внутреннего использования), оно подписано и упаковано с помощью Bubblewrap и установлено через adb. Резервный URI-адрес намерения работает в том смысле, что переводит меня во внутренний список Магазина, но я понятия не имею, почему действие не начинается.

Чанк XML:

        <activity android:name="SubscriptionActivity">
            <intent-filter>
                <data
                    android:host="com.package.www.twa"
                    android:scheme="subscriptionschemetwa" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
        </activity>

Действие такое же, как и при массовом создании, с добавленным журналом, чтобы проверить, входит ли оно когда-либо в метод. Это не.

class SubscriptionActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        println("------test------")
        setContentView(R.layout.activity_subscription)
    }
}

Журналы logcat после нажатия на ссылку, указывающую на URI-адрес намерения, похоже, показывают, что попытки запустить действие вообще не предпринимались, скорее, он идет непосредственно в магазин. Я могу запустить действие напрямую через оболочку adb.

09-11 20:57:30.419  1595 25814 I CLP     : startActivity sender check.  com.android.chrome to Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=market://details?id=com.package.www.twa&referrer=com.android.chrome flg=0x10000000 pkg=com.android.vending cmp=com.android.vending/com.google.android.finsky.activities.MarketDeepLinkHandlerActivity (has extras) }
09-11 20:57:30.607  9562  9804 I AppIconSolution: load=com.package.www.twa, bg=96-96, dr=132-132, forDefault=false, density=0
09-11 20:57:30.611  9562  9804 I AppIconSolution: load=com.package.www.twa-theme2, bg=96-96, dr=132-132, tarScale=0.65, relScale=0.48, mask=false
09-11 20:57:30.786 22165 22165 I Finsky  : [2] hze.a(11): Selecting account [xxxxxxxxxxxxxxxxxxxxxxxxxx] for package com.package.www.twa. overriding=[true]
09-11 20:57:30.794 22165 22165 I Finsky  : [2] hze.a(11): Selecting account [xxxxxxxxxxxxxxxxxxxxxxxxxx] for package com.package.www.twa. overriding=[true]
09-11 20:57:30.917 22165 22200 I Finsky  : [842] lge.run(418): Dropped referrer for com.package.www.twa because dropped_already_installed
09-11 20:57:30.934 22165 22165 I Finsky  : [2] hze.a(11): Selecting account [xxxxxxxxxxxxxxxxxxxxxxxxxx] for package com.package.www.twa. overriding=[true]
09-11 20:57:30.940 22165 22165 I Finsky  : [2] hze.a(11): Selecting account [xxxxxxxxxxxxxxxxxxxxxxxxxx] for package com.package.www.twa. overriding=[true]

Любой вклад приветствуется, я занимаюсь этим уже несколько дней, и я просто не могу понять это.

1 ответ

Итак, похоже, что URI намерения был неправильным. Мне действительно удалось запустить действие без проблем, используя то, что я считал устаревшим способом вызова действий через намеренные URI. Но эй, это работает. В итоге я использовал следующий URI:

subscriptionschemetwa://www.package.com

или в более общем плане

scheme://host

Надеюсь, это поможет кому-то не тратить время, как я:D

Другие вопросы по тегам