android(base)Activity启动方法
来源:互联网 发布:linux oracle安装在哪 编辑:程序博客网 时间:2024/05/18 13:04
显式启动明确指定要启动的activity的class或者包名.activity类名字
方式一:class跳转
Intent intent =new Intent(Activity1.this,Activity2.class);
startActivity(intent);
public class myActivity extends Activity { Button btnStart; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnStart = (Button) findViewById(R.id.btn_start_second); btnStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent =new Intent(); intent.setClass(myActivity.this,secondActivity.class); startActivity(intent);} }); } }
方式二:包名,类名字跳转
Intent intent =new Intent();
Intent.setClassName(context,”c1”);
startActivity(intent);
public class myActivity extends Activity { Button btnStart; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnStart = (Button) findViewById(R.id.btn_start_second); btnStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //第一种// Intent intent =new Intent();// intent.setClass(myActivity.this,secondActivity.class);// startActivity(intent); //第二种 Intent intent1 =new Intent(); intent1.setClassName(myActivity.this,"com.example.asong.test.secondActivity"); startActivity(intent1); } }); } }
方式三:ComponentName跳转
Intent intent =new Intent();
intent.setComponent(new Component(context,activity2.class));
startActivity(intent);
Intent intent =new Intent(); ComponentName componentName=new ComponentName(myActivity.this,secondActivity.class); intent.setComponent(componentName); startActivity(intent);
隐式启动
设置启动过滤器,通过指定Manifests文件中的action或者action和data属性,系统会查找符合条件的activity,并启动它。
Manifests文件
<activity android:name=".secondActivity"> <intent-filter> <action android:name="abcd.secondActivity"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity>
方式一:在构造时就传入actionName
Intent intent =new Intent(“actionName”);
startActivity(intent);
Intent intent =new Intent("abcd.secondActivity"); startActivity(intent);
方式二:构造完成后设置actionName
Intent intent =new Intent();
intent.setAction(“actionName”);
startActivity(intent);
Intent intent =new Intent(); intent.setAction("abcd.secondActivity"); startActivity(intent);
相关面试题
显式启动与隐式启动的区别是什么?
简答:
显式指的是指定了目标组件的intent,隐式指的是通过intentfilter来匹配启动的intent,都是程序发出的请求意图。
- android(base)Activity启动方法
- android activity启动优化方法
- android(base)--Activity基本配置
- Android Native 应用程序启动 Activity 的方法
- Android用Intent启动Activity的方法
- 【Android开机启动Activity或者Service方法】
- Android开机启动Activity或者Service方法
- Android用Intent启动Activity的方法
- 【Android开机启动Activity或者Service方法】
- 【Android开机启动Activity或者Service方法】
- Android开机启动Activity或者Service方法
- android:两种启动activity的方法
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Android Activity启动的两种方法
- display:inline、block、inline-block的区别
- while死循环
- java多线程学习-java.util.concurrent详解(四) BlockingQueue
- python进阶学习笔记(三)数据库支持 (实际工作用到了)
- 争吵的日子
- android(base)Activity启动方法
- android activitymanager
- poj 3449 Geometric Shapes(判断多边形是否相交)
- 也谈谈百度
- 用C++语言写游戏——打怪小游戏
- java回调函数
- Android自定义Toast的时长、位置、及显示的View
- 杂谈嵌入式linux和单片机开发
- 【BZOJ3439】Kpm的MC密码,trie树+dfs序+主席树