兩個應用之間進程間通信,主要通過Intent的隱式意圖來實現,主要包括:action、catagory、DataAndType
action可以理解為就是一個字符串匹配;
catagory范疇,Android不允許android.intent.action.MAIN的activity通過隱式意圖啟動,所以一般設置為android.intent.category.DEFAULT
catagory一般不要隨便寫,用系統的。
DataAndType:數據和MIME類型,
如果沒有數據Data可以設置為Uri.EMPTY,
TYPE可以隨便寫:<data android:mimeType="tom/HuoDongActivity" /> 但是如果要用內容提供者的話有特殊要求
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".TestView" > <intent-filter> <action android:name="android.intent.action.PICK" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="tom/HuoDongActivity" /> </intent-filter> </activity> </application>
Intent intent = new Intent("android.intent.action.PICK"); intent.setDataAndType(Uri.EMPTY, "tom/HuoDongActivity"); intent.addCategory("tom"); startActivity(intent);