入门Android开发--第一行代码--笔记系列(Intent)

来源:互联网 发布:极速法术升级数据 编辑:程序博客网 时间:2024/05/22 17:13

Intent启动activity(刚学那会不懂这个词,连带着做了好几次才明白)

显示的Intent,我一般都用这个:

Intent intent=new Intent(MainActivity.this,NewActivity.class);//很明显要从MainActivity启动NewActivitystartActivity(intent);
隐示的Intent

需要在配置中设置NewActivity

<span style="white-space:pre"></span><activity android:name=".NewActivity">            <intent-filter>                <action android:name=".MainActivity.ACTION_START"/><span style="white-space:pre"></span>//响应该action                <category android:name="android.intent.category.DEFAULT"/><span style="white-space:pre"></span>//默认,自动添加            </intent-filter>        </activity>
然后在MainActivity中发起请求
        Intent intent=new Intent(".MainActivity.ACTION_START");        intent.addCategory(".MainActivity.MY_CATEGORY");//可以添加多个,这样配置文件中也要添加对应的信息        startActivity(intent);


使用隐示intent打开浏览器,即

        Intent intent=new Intent(Intent.ACTION_VIEW);        intent.setData(Uri.parse("http://www.baidu.com"));//会使用默认浏览器打开百度,这句话字面上还好理解        startActivity(intent);

对应的在配置中可以继续增加一个data标签,这样除了默认浏览器、NewActivity也出现在了备选当中(可是我没测试成功)

当然实际开发中,如果没有提供浏览器的功能,就不会有这样的操作了

<activity android:name=".NewActivity">            <intent-filter>                <action android:name="android.intent.action.VIEW"/>                <category android:name="android.intent.category.DEFAULT"/>                <data android:scheme="http"/>            </intent-filter>        </activity>

这里可能需要了解一下Uri这个概念。


拓展延伸:Intent.ACTION_DIAL 等等


Intent传递数据

就如生面的setData一样,实际编写过程中,使用.补全看一下方法就一目了然了

Intent打开一个activity后等待返回

使用startActivityForResult(intent,1);第二个参数是一个请求值,用于返回判断用的。

同时NewActivity中需要使用setResult方法传回,会在NewActivity销毁的时候调用。

然后返回到MainActivity的onActivityResult方法中,其中的参数一看便明了了



0 0