0

こんにちは、URLからカスタムアプリを開こうと何度も試みましたが、失敗しました。カスタムアプリを開くためのこのリンクがあります ここをクリック

リンクごとにコーディングを行っています。コーディングは以下のとおりです

AndroidManifest.xml ファイル....

     <application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.maps" />

    <activity
        android:name=".AnimatedScreen"
        android:label="Last Alert Pro"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

     <activity
        android:name=".MapInfo"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <activity
        android:name=".MapInfo"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <data android:scheme="my.lastalertpro.scheme" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>
    </activity>
    </activity>

今、ブラウザのコーディング部分のhtmlリンクは以下のようになっています

    String linkForAndroid = "my.lastalertpro.scheme//" + lon + "/" + lat + "/" + alt;

今私はJavaの部分で、データを取得するためのコーディングは

    Uri data = getIntent().getData();
    String scheme = data.getScheme(); // "http"

    if (scheme != null) {
    String host = data.getHost(); // "my.lastalertpro.scheme"
    List<String> params = data.getPathSegments();
     try {
    lon = Double.parseDouble(params.get(0)); // longitude
    } catch (Exception e) {
    lon = 0.0;
        }

今問題は、私がこのリンクをgmailで取得していることです。メールを受け取ってこのリンクをクリックしようとすると、ブラウザのリストが表示されず、アプリケーションがデフォルトのブラウザで直接起動されます:(

4

2 に答える 2

3

最後に私は答えを見つけました

以下のリンクをGmailで送信すると...

      String linkForAndroid = "my.lastalertpro.scheme//" + lon + "/" + lat + "/" + alt;

理由はわかりませんが、Androidフォンではこのように考えられています---デスクトップコンピュータでは---

  in mail if you got link and click on this the link will be looking like 

  http://my.lastalertpro.scheme/70.77188993/22.28305819/96+m.

したがって、このようにAndroidManifest.xmlファイルでintent-filterを渡す必要があります

   <intent-filter>
      <data android:scheme="http" android:host="my.lastalertpro.scheme" />
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
   </intent-filter>
于 2012-10-15T09:48:34.007 に答える
0

以下のタグを action_view とともに追加してみてください

<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
于 2012-10-15T08:54:01.937 に答える