2013-08-21 60 views
0

以下是我正在嘗試設置的內容:我的Android應用需要電子郵件確認。他們使用我的應用程序進行註冊,然後通過鏈接向他們發送電子郵件。我想讓鏈接直接打開應用程序,但我被告知最好在我的網站上打開鏈接打開頁面,然後使用重定向打開應用程序。該鏈接還會發送用戶的電子郵件地址和驗證碼。我在哪裏可以在AndroidManifest.xml中添加我的意圖過濾器?

好了,所以,這樣做,我的理解是,我需要將這個代碼添加到我的AndroidManifest.xml(其中MYAPP是我的網站的名稱):

 <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="http" android:host="MYAPP.com" android:path="/confirmation.html" /> 
     </intent-filter> 

然後我的網站上有一個這個在<head>(其中MYAPP是我的應用程序的名稱)頁:

meta http-equiv="refresh" content="0;URL=MYAPP://?verification=' . $_GET["verification"] . '&email=' . $_GET["email"] . '"/> 

它不工作,而我可能使多個錯誤。

第一個問題是,我的<intent-filter>去哪了?我只讀過這是不言而喻的<activity>標籤內,但在我AndroidManifest.xml,我有兩個<activity>標籤:

<activity android:label="@string/app_name" android:name=".MYAPP" android:screenOrientation="unspecified" android:configChanges="locale|keyboard|keyboardHidden|orientation|screenSize"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:label="@string/app_name" android:name="com.phonegap.DroidGap"> 
     <intent-filter /> 
    </activity> 

我嘗試添加我的一個<intent-filter>,但似乎並沒有工作:

<activity android:label="@string/app_name" android:name=".MYAPP" android:screenOrientation="unspecified" android:configChanges="locale|keyboard|keyboardHidden|orientation|screenSize"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <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="http" android:host="MYAPP.com" android:path="/confirmation.html" /> 
     </intent-filter> 
    </activity> 
    <activity android:label="@string/app_name" android:name="com.phonegap.DroidGap"> 
     <intent-filter /> 
    </activity> 

我在哪裏把我的<intent-filter>

是我的代碼的其餘部分,特別是我的重定向網址,好嗎?

請注意我是一名初學者,我正在使用Phonegap構建此應用程序,因此請不要假設我對Android應用程序開發有很多瞭解。感謝你的理解。

回答

0

證明,我有我的意向過濾器在正確的地方。

它不工作的原因僅僅是因爲我需要一個額外的行來說明https鏈接。

所以我的代碼現在看起來像這樣:

<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="http" android:host="MYAPP.com" android:path="/confirmation.html" /> 
     <data android:scheme="https" android:host="MYAPP.com" android:path="/confirmation.html" /> 
    </intent-filter> 
1

裏面這樣你的活動代碼:

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".My_Activity_Name" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application 

在這段代碼中你的,這裏是最後一次活動開始意圖過濾器標籤:

<activity android:label="@string/app_name" android:name=".MYAPP" android:screenOrientation="unspecified" android:configChanges="locale|keyboard|keyboardHidden|orientation|screenSize"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
    <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="http" android:host="MYAPP.com" android:path="/confirmation.html" /> 
    </intent-filter> 
</activity> 
<activity android:label="@string/app_name" android:name="com.phonegap.DroidGap"> 
    <intent-filter /> 
</activity> 
相關問題