2017-03-01 73 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