【Android学习笔记】 Intent(6)Intent filter
Intent filter (过滤器)
AndroidManifest.xml file
创建project时,默认的filter
<intent-filter>
<action android:name="android.intent.action.MAIN" />
// 主入口
<category android:name="android.intent.category.LAUNCHER" />
//top-level item
</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="developer.android.com" />
包含 action ,category ,data
三项
其中data可忽略
<activity android:name=".MainActivity">
<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="developer.android.com" />
</intent-filter>
</activity>
在 MainActivity 中设置 Intent
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
Uri uri = intent.getData();
if (uri != null) {
String uri_string = getString(R.string.uri_label)
+ uri.toString();
TextView textView = findViewById(R.id.text_uri_message);
textView.setText(uri_string);
}
}
其中
String uri_string = "URI: " + uri.toString();
// 一个URl 对象