Intent跳转页面的方式?
1,直接跳转
第一个参数是上下文:也就是从哪跳。
第二个参数是:跳到那。
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
2,匹配action和category条件才跳转。
从MainActivity跳转到SecondActivity,要匹配SecondActivity中的aciton和category两个标签。
(1)自定义action问题:
MainActivity中的内容:
Intent intent = new Intent("this_is_Intent_action_condition");
startActivity(intent);
Mainfest中的内容:
<activity android:name=".SecondActivity" >
<intent-filter>
<action android:name="this_is_Intent_action_condition" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
(2)自定义category 问题:
Intent intent = new Intent("this_is_Intent_action_condition");
intent.addCategory("this_is_intent_category");
startActivity(intent);
Mainfest中的内容:
<activity android:name=".SecondActivity" >
<intent-filter>
<action android:name="this_is_Intent_action_condition" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="this_is_intent_category" />
</intent-filter>
</activity>
注意:这句不能丢了,它是系统默认的。
<category android:name="android.intent.category.DEFAULT" />
Intent打开其他应用的方式?
匹配:
Intent.ACTION_VIEW是系统内置的。所以好多Activity,xml中Aciton标签都匹配。(因为是系统内置的,所以应用到的地方很多),匹配的会有很多,都有什么条件呢?
代码:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
问题:自定义打开网址?匹配都有什么条件呢?
Condition:
1,Intent中传递的和action标签一致。
2,Intent中的setData和data标签类型要一致。
代码:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
Mainfest中的内容:在activity 中添加action和数据的类型data,就可以匹配。
<activity android:name=".SecondActivity" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
</intent-filter>
</activity>
Intent中的data和xml中的data类型要一致。
问题:data中的标签类型都有哪些?
问题:自定义打开电话:(只需要下面代码)。Intent.ACTION_DIAL是系统提供的。
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10010"));
startActivity(intent);