package com.lidaochen.test; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // 显示意图 // 点击按钮生成一个Activity public void click (View v) { // 创建意图对象, 意图就是我要完成一件事 Intent intent = new Intent(this, TestActivity.class); // 开启Activity startActivity(intent); } // 点击按钮生成一个Activity public void click1(View v) { // 创建意图对象,意图就是我要完成一件事 Intent intent = new Intent(); // 设置包名和类名 packageName:当前应用的包名 intent.setClassName("com.lidaochen.test", "com.lidaochen.test.TestActivity"); // 开启Activity startActivity(intent); } // 隐式意图 public void click2(View v) { // 创建意图对象,意图就是我要完成一件事 Intent intent = new Intent(); // 设置跳转的动作 intent.setAction("com.lidaochen.Test2Activity"); // 设置类别 intent.addCategory("android.intent.category.DEFAULT"); // 设置数据 // intent.setData(Uri.parse("aaa:" + "我是你爷爷!")); // 设置数据类型 // intent.setType("lidaochen"); // 如果setData和setType方法一起使用的时候应该使用下面这个方法 intent.setDataAndType(Uri.parse("aaa:" + "Hello World!"), "aa/bb"); // 开启Activity startActivity(intent); } }
package com.lidaochen.test; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Toast; import java.net.URI; public class Test2Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test2); // 获取MainActivity传递过来的数据 Intent intent = getIntent(); // 获取数据 Uri data = intent.getData(); String scheme = data.getScheme(); // 显示数据 Toast.makeText(getApplicationContext(), "" + data, Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "" + scheme, Toast.LENGTH_SHORT).show(); } }
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lidaochen.test"> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".TestActivity" /> <activity android:name=".Test2Activity"> <intent-filter> <action android:name="com.lidaochen.Test2Activity"></action> <category android:name="android.intent.category.DEFAULT"></category> <data android:mimeType="aa/bb" android:scheme="aaa"/> </intent-filter> </activity> </application> </manifest>