安卓開發之隱式意圖與顯示意圖

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>
相關文章
相關標籤/搜索