学而时习之,温故而知新,放假前回顾下android 的 隐式跳转
Activity的显式跳转:
是直接指定需要调用的Activity
Activity的隐式跳转:
不明确指定启动哪个Activity,而是设置Action、Data、Category,让系统来筛选出合适的Activity。
下面说下使用,在java代码中需要设置action 然后在配置文件AndroidManifest里面指定一下即可
直接setAction方法
Intent intent = new Intent();
intent.setAction("com.hly.view.fling");
startActivity(intent);
或者构造方法设置Action
Intent intent = new Intent("com.hly.view.fling");
startActivity(intent);
这里说下:com.hly.view.fling 这个是自己顺便取的action 标记,自己的取名一般是包名+特定的命名
AndroidManifest 里面:
<activity android:name=".FlingActivity">
<intent-filter>
<action android:name="com.hly.view.fling"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
这样就实现了跳转了
如果想使用隐式跳转的时候传递参数和,显示一样直接在下面使用即可例如
Intent intent = new Intent();
intent.setAction("com.hly.view.fling");
intent.putExtra("key", "name");
startActivity(intent);
或者使用bundle
Intent intent = new Intent();
intent.setAction("com.hly.view.fling");
Bundle bundle = new Bundle();
bundle.putString("key","value");
bundle.putString("key1","value1");
intent.putExtras(bundle);
startActivity(intent);
隐式跳转使用的地方很多,比如跳转系统设置,相机,拨打电话,浏览器,等等
下面是Intent 的参照数据 别人的写这里分享一下
元素名称 | 设置方法 | 说明与用途 |
Component | setComponent | 组件,用于指定Intent的来源与目的 |
Action | setAction | 动作,用于指定Intent的操作行为 |
Data | setData | 即Uri,用于指定动作要操纵的数据路径 |
Category | setCategory | 类别,用于指定Intent的操作类别 |
Type | setType | 数据类型,用于指定Data类型的定义 |
Extras | setExtras | 扩展信息,用于指定装载的参数信息 |
Flags | setFlags | b标志位,用于指定Intent的运行模式(启动标志) |
Intent类的系统动作常量名 | 系统动作的常量值 | 说明 |
ACTION_MAIN | android.intent.action.MAIN | App启动时的入口 |
ACTION_VIEW | android.intent.action.VIEW | 显示数据给用户 |
ACTION_EDIT | android.intent.action.EDIT | 显示可编辑的数据 |
ACTION_CALL | android.intent.actionCALL | 拨号 |
ACTION_DIAL | android.intent.action.DIAL | 打电话 |
ACTION_SEND | android.intent.action.SEND | 发短信 |
ACTION_ANSWER | android.intent.action.ANSWER | 接电话 |
ACTION_SEARCH | android.intent.action.SEARCH | 导航栏上SearchView的搜索动作 |