[android] 展现意图激活其它一个activity

可以拔取跳转的章程接近javaweb来兑现界面转换

来得意图就是必须要指定开启组件的求实消息,包名,组件名,组件的class

 

新建一个类TwoActivity ,继承Activity类,重写onCreate()方法,这么些办法是界面开启的时候自动调用,在这么些函数里面大部分开展开头化的操作,比如调用界面和收获控件等

 

activtity是系统的显要器件,系统要想找到这一个activity,就务须在清单文件之中举行配置

新加<Activity />节点,

安装名称android:name=”包名.类名”

安装意图过滤器 <intent-filter> action的称谓是android.intent.action.MAIN ;category的名称是android.intent.category.LAUNCHER的时候会成立快速图标

安装图标 android:icon=””

安装标题 android:label=””

android系统内部有一部分实际是一个使用,创制了不同的图标进入不同的界面。

 

在率先个Activity里面点击按钮跳转过来

获取Intent对象,通过new出来

调用Intent对象的setClassName(packageContext,className)方法,设置类名,参数:上下文,String类型的类名 全名称含包名

调用Activity对象的startActivity(intent)方法,开启一个Activity,参数:Intent对象

 

地点的形式有点辛苦,谷歌提供了不怎么便宜的法子

获取Intent对象,通过new Intent(packageContext,cls),参数:上下文,class字节码

调用Acitivity对象的startActiity(intent)方法

 

激活系统应该程序的界面

什么得到系统利用的界面全名称呢,通过清空logcat,模拟器上启动系统运用,查看日志,找到ActivityManager打印的信息可以见到

获取Intent对象

调用Intent对象的setClassName(packageName,className)方法,设置类名,参数:想要激活的采纳string类型的包名,String类型的类名

调用startActivity(intent)方法

工作场景是在检讨网络的时候,自动定位到网络设置的界面,这种需要

检查用户的网络状态

获得ConnectityManager对象,调用上下文对象的getSystemService()方法,参数:Context.CONNECTIVITY_SERVICE

调用ConnectityManager对象的getActiveNetworkInfo()方法,返回NetworkInfo对象

调用NetworkInfo对象的isConnected()方法

判定NetworkInfo对象是不是为null和地方方法再次回到值举办判定,显示Toast

内需权限 android.permission.ACCESS_NETWORK_STATE

4.0系统会有问题,之后再说

 

package com.tsh.mstartactivity;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    //跳转
    public void click(View v){
        //第一种方式
        //Intent intent=new Intent();
        //intent.setClassName(this, "com.tsh.mstartactivity.TwoActivity");
        //第二种方式
        Intent intent=new Intent(this,TwoActivity.class);
        startActivity(intent);
    }
    //检查网络
    public void click2(View v){
        ConnectivityManager cm=(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info=cm.getActiveNetworkInfo();
        if(info!=null&&info.isConnected()){
            Toast.makeText(this, "网络连接正常", 0).show();
        }else{
            Toast.makeText(this, "网络连接失败", 0).show();
        }
    }
}

 

相关文章