第 2 章 - Activity

2018-08-30  本文已影响0人  AaronZheng丶

1. 在活动中使用 Menu

准备工作:
Activity 中有 2 个重要方法需要复写:

2. 销毁一个活动

3. 隐式 Intent

不在活动中明确指出启动哪个活动,而是在 AndroidManifest.xml 中配置想要启动的活动的 <action><category> 信息,并交由系统分析启动哪个活动

调用浏览器功能:

Intent intent = new Intent(Intent_ACTION_VIEW)
intent.setData(Uri.parse("http://www.baidu.com"))
—— Intent.ACTION_VIEW 的常量值为 android.intent.action.VIEW
如果在 AndroidManifest.xml 中配置活动的 <action> 值为此常量值,那么该活动也能响应打开网页的 Intent

调用拨号功能:

Intent intent = new Intent(Intent.ACION_DIAL)
intent.setData(Uri.parse("tel:10010"))

4. 向下一个活动传递数据:

发送数据:

intent.putExtra()
—— 该方法接收键值对参数

接收数据:

intent.getIntent()
—— 该方法用于获取到启动目标活动的 Intent
getIntExtra()getStringExtra()
—— 此类方法传入相应的键值即可获得数据

5. 返回数据给上一个活动:

6.活动被回收了怎么办:

@Override
protected void onSaveInstance(Bundle outState){
    super.onSaveInstanceState(outState);
}

7.活动的启动方式:

8.管理所有活动:

public static void addActivity(Activity activity){
    activities.add(activity);
}
public static void removeActivity(Activity activity){
    activities.remove(activity);
}
public static void finishAll(){
    //遍历 activities
    for(Activity activity : activities){
        //判断是否被系统回收
        if(!activity.isFinishing()){
            activity.finish();
        }
    }
    //清空列表
    activities.clear();
}

9.启动活动的最佳写法:

public static void actionStart(Context context){
    Intent intent = new Intent(context,Activity.class);
    context.startActivity(intent);
}
上一篇下一篇

猜你喜欢

热点阅读