进网站后台显示空白,pageadmin的应用,新加坡注册公司,计算机培训机构学费多少https://blog.csdn.net/u012005313/article/details/47006689 使用Intent能够使程序在不同活动中跳转#xff0c;意及能够使用不同界面。Intent用法分为显示和隐式 Intent概念#xff1a;Intent是Android程序中各组件之间进行交互的一种重要方式#xff0c;不仅可以指明当前…https://blog.csdn.net/u012005313/article/details/47006689 使用Intent能够使程序在不同活动中跳转意及能够使用不同界面。Intent用法分为显示和隐式 Intent概念Intent是Android程序中各组件之间进行交互的一种重要方式不仅可以指明当前组件想要执行的动作还可以在不同组件之间传递数据。 Intent一般可被用于启动活动、启动服务、以及发送广播等场景 ########################################################## 前期准备工作 1.创建一个项目(IntentTest)使用一个默认的空的活动MainActivity 2.修改activity_main.xml布局文件 RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/android xmlns:toolshttp://schemas.android.com/tools android:layout_widthmatch_parent android:layout_heightmatch_parent android:paddingLeftdimen/activity_horizontal_margin android:paddingRightdimen/activity_horizontal_margin android:paddingTopdimen/activity_vertical_margin android:paddingBottomdimen/activity_vertical_margin tools:context.MainActivity Button android:idid/button_1 android:layout_widthmatch_parent android:layout_heightwrap_content android:textButton 1 / /RelativeLayout 2.新建一个活动SecondActivity Activity Name SecondActivity Layout Name activity_second 3.修改activity_second.xml布局文件 代码如下 ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:layout_widthmatch_parent android:layout_heightmatch_parent Button android:idid/button_2 android:layout_widthmatch_parent android:layout_heightwrap_content android:textButton 2 / /LinearLayout 解释定义一个按钮按钮上文本显示为Button 2 4.修改SecondActivity.java类 代码如下 public class SecondActivity extends Activity { Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); //隐藏标题栏 setContentView(R.layout.activity_second); } 5.在AndroidManifest.xml中为SecondActivity活动进行注册 在application/application之间加入 activity android:name.SecondActivity android:labelstring/title_activity_second /activity note:SecondActivity不是主活动不需要配置intent-filter标签里的内容 ############################################## 显示使用Intent Intent有多个构造函数的重载其中一个是Intent(Context packageContext, Class? cls) 该构造函数接收两个参数第一个参数Context要求提供一个启动活动的上下文 第二个参数Class则是指定想要启动的目标活动 Activity类中提供了一个startActivity()方法这个方法是专门用于启动活动它接收一个Intent参数 我们将构建好的Intent传入startActivity()方法就可以启动目标活动 1.修改MainActivity类中按钮的点击事件 Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button(Button)findViewById(R.id.button_1); button.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { Toast.makeText(MainActivity.this, You click Button 1, Toast.LENGTH_SHORT).show(); Intent intentnew Intent(MainActivity.this, SecondActivity.class); startActivity(intent); } }); } 2.修改SecondActivity类中按钮的点击事件 Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_second); Button button(Button)findViewById(R.id.button_2); button.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { Toast.makeText(SecondActivity.this, You Click Button 2, Toast.LENGTH_SHORT).show(); finish(); } }); } 点击运行按钮截图如下 程序生成后手机出现界面1点击button1按钮界面跳转到界面2,点击button2,界面跳转会界面1 ########################################### 隐式使用Intent 隐式Intent通过指定一系列更为抽象的action和category等信息然后交由系统去分析这个Intent并帮助我们找出合适的活动去启动 1.修改AndroidManifest.xml文件修改活动如下 activity android:name.SecondActivity android:labelstring/title_activity_second intent-filter action android:namecom.example.activitytest.ACTION_START / category android:nameandroid.intent.category.DEFAULT / /intent-filter /activity 在action标签中指明当前活动可以响应com.example.activitytest.ACTION_START这个action而category标签则包含了一些附加信息更精确地指明了当前的活动能够响应的Intent中还可能带有的category。 只有action和category中的内容同时能够匹配上Intent中指定的action和category这个活动才能响应Intent 2.修改MainActivity类中按钮的点击事件 Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button(Button)findViewById(R.id.button_1); button.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { Toast.makeText(MainActivity.this, You click Button 1, Toast.LENGTH_SHORT).show(); //Intent intentnew Intent(MainActivity.this, SecondActivity.class); Intent intentnew Intent(com.example.activitytest.ACTION_START); startActivity(intent); } }); } note: android.intent.category.DEFAULT是一种默认的category在调用startActivity()方法的时候会自动将这个category添加到Intent中 点击运行按钮程序成功运行 #######################################################3 ADD每个Intent中只能指定一个action但却能够指定多个category. 上述的Intent中只有一个默认的category再增加一个测试一下 1.修改AndroidManifest.xml文件 activity android:name.SecondActivity android:labelstring/title_activity_second intent-filter action android:namecom.example.activitytest.ACTION_START / category android:nameandroid.intent.category.DEFAULT / category android:namecom.example.activitytest.MY_CATEGORY / /intent-filter /activity /application 2.修改MainActivity类中按钮的点击事件 Button button(Button)findViewById(R.id.button_1); button.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { Toast.makeText(MainActivity.this, You click Button 1, Toast.LENGTH_SHORT).show(); //Intent intentnew Intent(MainActivity.this, SecondActivity.class); Intent intentnew Intent(com.example.activitytest.ACTION_START); intent.addCategory(com.example.activitytest.MY_CATEGORY); startActivity(intent); } 运行程序成功 ################################################# 隐式Intent的更多用法 使用隐式Intent不仅可以启动自己程序内部的活动还可以启动其他程序的活动这使得Android多个应用程序之间的功能共享称为可能 例如在应用程序中展示一个网页 修改MainActivity中按钮点击事件 button.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { Toast.makeText(MainActivity.this, You click Button 1, Toast.LENGTH_SHORT).show(); //Intent intentnew Intent(MainActivity.this, SecondActivity.class); //Intent intentnew Intent(com.example.activitytest.ACTION_START); //intent.addCategory(com.example.activitytest.MY_CATEGORY); Intent intentnew Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(http://www.baidu.com)); startActivity(intent); } }); 程序中首先指定Intent的action是Intent.ACTION_VIEW这是一个Android系统内置的动作其常量值为android.intent.action.VIEW. 然后通过Uri.parse()方法将一个网址字符串解析成一个Uri对象再调用Intent的setData()方法将这个Uri对象传递进去 此时重新运行程序在MainActivity界面点击按钮就可以打开系统浏览器 例如在程序中调用系统拨号界面 修改MainActivity中按钮点击事件 Button button(Button)findViewById(R.id.button_1); button.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { Toast.makeText(MainActivity.this, You click Button 1, Toast.LENGTH_SHORT).show(); //Intent intentnew Intent(MainActivity.this, SecondActivity.class); //Intent intentnew Intent(com.example.activitytest.ACTION_START); //intent.addCategory(com.example.activitytest.MY_CATEGORY); Intent intentnew Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse(tel:10086)); startActivity(intent); } }); Intent.ACTION_DIAL是一个Android系统的内置动作 --------------------- 本文来自 编号1993 的CSDN 博客 全文地址请点击https://blog.csdn.net/u012005313/article/details/47006689?utm_sourcecopy 转载于:https://www.cnblogs.com/Nina-piaoye/p/9708927.html