首页 > 代码库 > Android 学习之显式激活与隐式激活Activity
Android 学习之显式激活与隐式激活Activity
在res界面里面有两个布局文件activity_main和acivity_two
activity_main里面有如下四个按钮
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.twoactivity.MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是第一个界面" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click" android:text="跳转到第二个界面" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click2" android:text="激活系统的一个应用" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click3" android:text="隐式意图跳转到第二个界面" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click4" android:text="激活短信的界面" /></LinearLayout>
acivity_two.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.twoactivity.MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是第二个界面" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/abc_menu_dropdown_panel_holo_dark" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click" android:text="跳转到第二个界面" /></LinearLayout>
现在我们需要点击main里面的"跳转到第二个页面",让程序显示地跳转到two页面里面
下面我们在src下面建立两个类,分别继承Activity类
MainActivity.java
package com.example.twoactivity;import android.annotation.SuppressLint;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // 当用户点击按钮的时候跳转到第二个界面 public void click(View view) { // 单击按钮激活第二个界面,跳转 // Intent 意图 /* * Intent intent = new Intent(); intent.setClassName(this, * "com.example.twoactivity.OtherScreenActivity");// 设置这个意图要激活的组件 * startActivity(intent); */ Intent intent = new Intent(this, OtherScreenActivity.class); startActivity(intent); } public void click2(View view) { // 单击按钮激活第二个界面,跳转 // Intent 意图 Intent intent = new Intent(); intent.setClassName("com.android.gallery", "com.android.camera.GalleryPicker");// 设置这个意图要激活的组件 startActivity(intent); } /** * 采用隐式意图激活第三个界面 * * */ @SuppressLint("NewApi") public void click3(View view) { // 单击按钮激活第二个界面,跳转 // Intent 意图 Intent intent = new Intent(); intent.setAction("com.example.xxx"); intent.addCategory("android.intent.category.DEFAULT"); // 指定数据类型 // 如果只要类型没有数据 // intent.setType("vnd.android.cursor.item/haha"); // 如果只要数据没有类型 // intent.setData(Uri.parse("itheima:gagaga")); // 如果有类型和数据都有 intent.setDataAndTypeAndNormalize(Uri.parse("itheima:gagaga"), "vnd.android.cursor.item/haha"); startActivity(intent); // 动作数据 // 打人,打酱油 // 泡茶,泡妞 // 泡绿茶,泡红尘,泡乌龙 // addCategory附加信息 } /** * 激活短信的服务 * * */ public void click4(View view) { Intent intent = new Intent(); intent.setAction("adnroid.intent.action.SENDTO"); intent.addCategory("android.intent.category.DEFAULT"); intent.setData(Uri.parse("sms:110")); startActivity(intent); }}
OtherScreenActivity.java
package com.example.twoactivity;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.widget.Toast;/** * activity是系统的重要组件之一 操作系统要想找到activity,就必须在清单文件里面配置 * * */public class OtherScreenActivity extends Activity { // 重写activity的Oncreate方法 @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_two); Intent intent = getIntent();// 获取到激活他的意图 Uri uri = intent.getData(); String result = uri.toString(); Toast.makeText(this, "数据是:" + result, 0).show(); }}
并且在清淡文件里面AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ce" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".ResultActivity" android:label="@string/app_name" > </activity> </application></manifest>
Android 学习之显式激活与隐式激活Activity
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。