Я не настолько знаком с веб-программированием на Android или с интерфейсами javascript, поэтому я не знаю, возможно ли запустить произвольное намерение с ними.
Однако я предполагаю, что у вас есть какой-то способ просто открыть ссылку. И если вы обнаружите, что иначе невозможно запустить действие, вы все равно можете получить что-то работающее, используя собственную схему URI.
По сути, идея заключается в том, что вы добавляете фильтр намерений к действию, которое вы хотите запустить, который регистрирует пользовательскую схему URI для этого действия. А затем, когда вы попытаетесь открыть ссылку с использованием этой схемы, Android отобразит ее в целях android.intent.action.VIEW для вашей активности.
Например, если у вас есть следующее в фильтре намерений для действия, которое вы хотите запустить:
<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="penroser"/>
</intent-filter>
Затем вы можете запустить URL-адрес, например penroser:BLAH
, и он действительно должен запустить вашу деятельность.
Однако вышеизложенное предполагает, что вы можете добавить фильтр намерений к действию, которое хотите запустить. Однако, если вы хотите запустить более общее намерение или запустить действие, которое вы не контролируете, это усложнит ситуацию.
В этом случае вы можете определить действие «трамплин», целью которого является получение пользовательских намерений URI, а затем декодировать некоторую информацию о намерениях, используя определенный вами формат, а затем запустить намерение на основе этого декодированного информация.
Например, предположим, что вы зарегистрировали пользовательскую схему URI launchactivity:
, и затем вы можете запустить ссылку, например: launchactivity://activity?component=com.example.MyActivity
, а затем иметь некоторую логику анализа в Spring-board Activity, которая анализирует имя компонента из URI и запускает намерение для этого компонента.
В зависимости от того, что именно вам нужно, вы сможете передавать любые намеренные данные в launchactivity:
URL
.