Link direto para Android com URI personalizado
Eu tenho o seguinte definido no meu manifesto:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app.package">
...
<activity
android:name="app.myActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<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:host="www.example.com"
android:pathPrefix="/gizmos"
android:scheme="http" />
<!-- note that the leading "/" is required for pathPrefix-->
<!-- Accepts URIs that begin with "example://gizmos”-->
<data
andr,oid:host="gizmos"
android:scheme="example" />
</intent-filter>
</activity>
...
E eu defini meu onCreate () como tal:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Uri data = intent.getData();
if (data != null) {
Log.d("URI",data.toString());
}
}
Isso está de acordo com a documentação do Android:Link direto para Android
Então a questão é:
Como testo o link direto do URI? De acordo com a documentação, eu corro algo como
shell adb am start -W -um android.intent.action.VIEW -d "exemplo: // gizmos" com.app.package
Mas isso produz:
Erro: atividade não iniciada, incapaz de resolver Intent {act = android.intent.action.VIEW dat = exemplo: // gizmos flg = 0x10000000 pkg = com.app.package}
Eu também tentei o shell com o nome e a referência da atividade, a atividade do iniciador e deixei o pacote em branco. O único que posso trabalhar é:
shell adb am start -W -a android.intent.action.VIEW -d "http://www.example.com/gizmos"
Mas mesmo se eu conseguir isso, isso não quer dizer que funcionará em outros aplicativos. Os URIs PERSONALIZADOS (por exemplo, // gizmos) não podem ser clicados em outros aplicativos como Gmail e WhatsApp - portanto, os testes no ecossistema Android também são problemáticos.
A respostanesta questão estouro pilha não é aceitável, pois não responde à pergunta, mas apenas encoraja o uso da versão http: //, quero que o esquema example: // funcione.