先说一下activity的几种启动方式 声明:博客中的知识点比较浅陋,也有可能有错误的地方,写博客的原因主要是方便自己梳理知识点。万事总要有个开始的地方,我也想像那些博客大神一样,慢慢的增长自己的知识,慢慢与大家相互交流。 一.显示意图 注意:在Activity中该属性用来标示:当前Activity是否可以被另一个application的组件启动:true允许被启动;false不允许被启动。 android:exported 是Android中的四大组件 Activity,Service,PRovider,Receiver 四大组件中都会有的一个属性。 总体来说它的主要作用是:是否支持其它应用调用当前组件。 ①他可以通过显示意图来跳转 Intent intent = new Intent(this,SecondActivity.class); this.startActivity(intent); 可以通过intent来传递参数 拿到intent里的参数 String infoString = getIntent().getStringExtra(RETURN_INFO); ②通过包名和类名跳转 Intent intent = new Intent(); intent.setClassName(“com.example.minyang.esuditest”,”com.example.minyang.esuditest.SecondActivity”); startActivity(intent); 一般用于启动自己app的activity或者另一个app里的activity.注意启动之前做判断,手机中是否存在在该activity。 ③通过ComponnetName跳转 Intent intent = new Intent(); intent.setClassName(“com.example.myapplication”,”com.example.myapplication.MainActivity”); intent.setComponent(new ComponentName(“com.example.myapplication”,”com.example.myapplication.MainActivity”)); startActivity(intent); 二.隐式意图 ①调用系统的activity Intent intent = new Intent(); intent.setAction(“android.intent.action.SENDTO”);// 发送信息的动作 intent.addCategory(“android.intent.category.DEFAULT”);// 附加信息 intent.setData(Uri.parse(“sms:10086”));// 具体的数据,发送给10086 startActivity(intent); ②自定义隐式意图 Intent intent = new Intent(); intent.setAction(“action”); intent.addCategory(“android.intent.category.DEFAULT”); intent.setDataAndType(Uri.parse(“loonggg://www.baidu.com/person”), “person/people”); startActivity(intent);
清单文件
新闻热点
疑难解答