Android隱式意圖打開Activity

場景: java

本身的應用內,顯式意圖 效率高 android

激活其餘應用或但願本身被別人激活,使用隱式意圖或聲明Action  app

<?xml version="1.0" encoding="utf-8"?>
	<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	    package="com.pas.intenttest"
	    android:versionCode="1"
	    android:versionName="1.0" >
	
	    <uses-sdk
	        android:minSdkVersion="8"
	        android:targetSdkVersion="18" />
	    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
	
	    <application
	        android:allowBackup="true"
	        android:icon="@drawable/ic_launcher"
	        android:label="@string/app_name"
	        android:theme="@style/AppTheme" >
	        <activity
	            android:name="com.pas.intenttest.MainActivity"
	            android:label="@string/app_name"
	            android:icon="@drawable/ic_launcher" >
	            <intent-filter>
	                <action android:name="android.intent.action.MAIN" />
	                <category android:name="android.intent.category.LAUNCHER" />
	            </intent-filter>
	        </activity>
	        <activity
	            android:name="com.pas.intenttest.SecActivity"
	            android:label="@string/title_activity_sec" >
	            <!-- 自定義intent動做Action -->
	            <intent-filter >
	                <action android:name="com.pas.intenttest.sec"/>
	                <category android:name="android.intent.category.DEFAULT" />
	                <!-- 接受的數據描述 表示數據格式開頭-->
	                <!-- mimeType表示數據類型 若沒有標準格式 通常寫爲vnd.android.cursor.item/xxx -->
	                <data android:scheme="pas" android:mimeType="vnd.android.cursor.item/pas"></data>
	            </intent-filter>
	        </activity>
	    </application>
	
	</manifest>

 

public void click2(View v)
	{
		//隱式意圖
		//描述動做的行爲
		Intent intent=new Intent();
		intent.setAction(Intent.ACTION_VIEW);
		intent.setData(Uri.parse("http://www.baidu.com"));
		startActivity(intent);
	}
	
	public void click3(View v)
	{
		//隱式意圖
		//描述動做的行爲
		//Category用於提供一些額外的環境參數
		//參數必須與配置中相符合 不可短缺 不然形成找不到Activity
		Intent intent=new Intent();
		intent.setAction("com.pas.intenttest.sec");
		intent.setDataAndType(Uri.parse("pas:asdwd"), "vnd.android.cursor.item/pas");
		intent.addCategory(Intent.CATEGORY_DEFAULT);
		startActivity(intent);
	}
	
	public void click4(View v)
	{
		//隱式意圖
		Intent intent=new Intent();
		intent.setAction("android.intent.action.SEND");
		intent.setData(Uri.parse("mms:110"));
		intent.addCategory(Intent.CATEGORY_DEFAULT);
		startActivity(intent);
	}
相關文章
相關標籤/搜索