有没有一种方法可以启动带有应用程序活动的Web链接,其中该Web链接以特定方式开始和结束?
如果用户单击指向特定网站的Web链接(例如已在Facebook上或通过电子邮件共享的Web链接)并且以网站地址开头但仅以“ story.html”结尾,则我想启动一个活动。因此,例如http://www.storyofmathematics.com/
不会打开应用程序,但是http://www.storyofmathematics.com/story.html
会打开
最佳答案
这可以通过使用适当的意图过滤器将活动添加到清单中来实现
<activity
android:name=".WebActivity"
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:host="www.storyofmathematics.com"
android:scheme="http" />
<data
android:host="storyofmathematics.com"
android:scheme="http" />
</intent-filter>
</activity>
然后通过在活动中运行正则表达式
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class WebActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
if (intent.getDataString().matches(
"http:\\/\\/((www.)?)storyofmathematics.com\\/.*story.html")) {
// is match - do stuff
} else {
// is not match - do other stuff
}
}
}