Intent跳转页面的几种方式

来源:互联网 发布:淘宝的优惠券是真的吗 编辑:程序博客网 时间:2024/06/05 16:37

Intent跳转页面的方式?

1,直接跳转

第一个参数是上下文:也就是从哪跳。

第二个参数是:跳到那。

Intent intent =new Intent(MainActivity.this,SecondActivity.class);

startActivity(intent);

 

2,匹配actioncategory条件才跳转。

MainActivity跳转到SecondActivity要匹配SecondActivity中的acitoncategory两个标签。

 

(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是系统内置的。所以好多ActivityxmlAciton标签都匹配。(因为是系统内置的,所以应用到的地方很多),匹配的会有很多,都有什么条件呢?

代码:

Intent intent =new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse("http://www.baidu.com"));

startActivity(intent);

 

 

问题:自定义打开网址?匹配都有什么条件呢?

Condition

1Intent中传递的和action标签一致。

2Intent中的setDatadata标签类型要一致。

代码:

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中的dataxml中的data类型要一致。

问题:data中的标签类型都有哪些? 

 

问题:自定义打开电话:(只需要下面代码)Intent.ACTION_DIAL是系统提供的。

Intent intent =new Intent(Intent.ACTION_DIAL);

intent.setData(Uri.parse("tel:10010"));

startActivity(intent);


 

0 0