Android Deep Linking Problem! Verwendung des benutzerdefinierten URL-Schemas myapp: // some_data

Ich habe versuchtlink1, link2,link3, link4, link5, link6

Hier ist alles beschriebenDeepLinking

Was ich möchte, ist die benutzerdefinierte uri myapp: // some_data, öffnet die native Anwendung, die auf dem Gerät installiert ist und some_data zum Initialisieren der Anwendung benötigt.

Es gibt zwei Szenarien, in denen auf die benutzerdefinierte URL geklickt werden kann.

1) Wenn der Benutzer in der SMS-App auf den Link tippt, wird die installierte automatisch geöffnet. Andernfalls wird der Google Play Store geöffnet, in dem die App gehostet wird

2) aus dem Hauptteil einer E-Mail-Nachricht.

Ich habe alle oben aufgeführten Links ausprobiert, aber keiner von ihnen funktioniert für mich. Ich habe ein großes Problem mit dem Schema-Teil.

Hier ist meine 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>

und hier ist die 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");

Um genauer zu sein, möchte ich die native Anwendung öffnen, wenn auf eine URL vom Typ inderbagga: // a1b22c333 geklickt wird. Entweder aus der SMS-Anwendung oder aus dem E-Mail-Nachrichtentext von gmail / yahoomail.

Um dasselbe zu erreichen, habe ich Vorsatzfilter verwendet, um das Schema festzulegen. und getIntent (), um die Daten zu lesen, die a1b22c333 in der MainActivity entsprechen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage