2017-03-01 28 views
0

我需要(如果可能的話)來處理的「URL」像這樣(在一封電子郵件中我需要打開我的應用程序(「WICS」)):的android:如何閱讀意圖URI額外的數據

http://wics/resetPassword/[email protected]/FOOBARTOKEN 

我有這個在我的AndroidManifest.xml

<activity android:name=".ResetPasswordActivity"> 
      android:label="@string/app_name"> 
      <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="wics"/> 
      </intent-filter> 
</activity> 

我怎樣才能得到我的ResetPasswordActivity 「[email protected]」 和 「FOOBARTOKEN」?

我插入此代碼:

Intent intent = getIntent(); 
Uri uri = (Uri)intent.getData(); 

可是現在呢?拆分「uri」字符串並獲得3td和第4個元素?

回答

1

那麼你可以做這樣的事情。

<meta-data android:name="my_url" android:value="http://wics/resetPassword/[email protected]/FOOBARTOKEN" /> 

然後在代碼中得到它。

ApplicationInfo appInfo = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA); 
Bundle bundle = appInfo.metaData; 

String url = bundle.getString("my_url"); 
Uri uri = Uri.parse(url); 

然後拆分「/」分隔符。

String[] arr = url.split("/"); 

然後你需要做的就是循環arr並找到你的單詞。 有什麼意義?

+0

請接受答案。謝謝。總是願意分享知識。 – Remario

+0

謝謝@Caspain。我已經做了類似你的評論,但我認爲這不是正確的方法。再次感謝。 – ZioBudda