android: 如何读取 intent uri 额外数据
android: How to read intent uri extra data
我需要(如果可能的话)像这样处理 "url"(在电子邮件中我需要打开我的应用程序 ("wics")):
http://wics/resetPassword/myemail@mydomain.ext/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 中获得 "myemail@mydomain.ext" 和 "FOOBARTOKEN"?
我已插入此代码:
Intent intent = getIntent();
Uri uri = (Uri)intent.getData();
可是现在呢?拆分 "uri" 字符串并获取第 3 个元素和第 4 个元素 ?
好吧,你可以这样做。
<meta-data android:name="my_url" android:value="http://wics/resetPassword/myemail@mydomain.ext/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 并找到你的话。
有什么意义吗?
我需要(如果可能的话)像这样处理 "url"(在电子邮件中我需要打开我的应用程序 ("wics")):
http://wics/resetPassword/myemail@mydomain.ext/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 中获得 "myemail@mydomain.ext" 和 "FOOBARTOKEN"?
我已插入此代码:
Intent intent = getIntent();
Uri uri = (Uri)intent.getData();
可是现在呢?拆分 "uri" 字符串并获取第 3 个元素和第 4 个元素 ?
好吧,你可以这样做。
<meta-data android:name="my_url" android:value="http://wics/resetPassword/myemail@mydomain.ext/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 并找到你的话。 有什么意义吗?