Problema do Android Deep Linking! Como usar o esquema personalizado de URL myapp: // some_data
eu tenteilink1, link2,link3, link4, link5, link6
Aqui está tudo descrito sobreDeepLinking
O que eu quero é o uri personalizado myapp: // some_data, abre o aplicativo nativo instalado no dispositivo que requer some_data para inicializar o aplicativo.
Existem dois cenários em que o URL personalizado pode ser clicado.
1) de dentro do aplicativo SMS, quando o usuário tocar no link, ele deve abrir automaticamente o aplicativo. Caso contrário, abra a loja googleplay onde o aplicativo está hospedado
2) de dentro do corpo de uma mensagem de email.
Eu tentei todos os links listados acima, mas nenhum deles funciona para mim. Eu estou tendo um grande problema com a parte do esquema.
Aqui está o meu AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="MainActivity"
android:label="@string/app_name"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="inderbagga" />
</intent-filter>
</activity>
</application>
e aqui está o MainActivity.java
TextView tvText=(TextView)findViewById(R.id.tvid);
if (getIntent().getAction() == Intent.ACTION_VIEW&&getIntent().getScheme().equals("inderbagga")) {
Toast.makeText(getApplicationContext(), ""+getIntent().getScheme(), Toast.LENGTH_SHORT).show();
Uri uri = getIntent().getData();
// do stuff with uri
tvText.setText(uri.toString());
}
else tvText.setText("NULL");
Para ser mais específico, eu quero abrir o aplicativo nativo quando a URL do tipo inderbagga: // a1b22c333 for clicada, seja do aplicativo sms ou do corpo da mensagem de e-mail gmail / yahoomail.
Para alcançar o mesmo, usei filtros de intenção para definir o esquema. e getIntent () para ler os dados que equivalem a a1b22c333 na MainActivity.