Intent intent=new Intent(MyActivity.this,TAct.class);
Intent intent=new Intent(); intent.setComponent(new ComponentName(getPackageName(),"com.example.AndroidTest_01.TAct"));//全路徑
Intent intent=new Intent("con.example.AndroidTest_01.action.test");
//或者
Intent intent=new Intent();
intent.setAction("con.example.AndroidTest_01.action.test");
Intent intent=new Intent(); intent.setData(Uri.parse("scheme://host:port/path"));
ComponentName componentName=intent.resolveActivity(getPackageManager()); if(componentName==null){ //..沒法解析 }
intent.putExtra("a","sss");
Bundle bundle=new Bundle(); bundle.putString("title","aaaaa"); intent.putExtra("a",bundle);
Bundle是Android中一個數據結構優化機制類,與Java中的Map同樣,可是Bundle更加高效,在Android中通常不使用Map,是用Bundle代替Mapandroid
public class Modle1 implements Serializable { }
Intent intent=new Intent(MyActivity.this,TAct.class); intent.putExtra("a",new Modle1());
Serializable接口中已經封裝了序列化機制,不須要開發者本身去實現,使用很是簡單,可是在Android中不適合使用,其內部一套序列化機制是針對全部類型封裝的,是Java提供的一個通用接口,效率較低程序員
public class Modle2 implements Parcelable { private String name; public Modle2(String name){ this.name=name; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(this.name); } public static final Creator<Modle2> CREATOR=new Creator<Modle2>() { @Override public Modle2 createFromParcel(Parcel source) { return new Modle2(source.readString()); } @Override public Modle2[] newArray(int size) { return new Modle2[size]; } }; }
須要本身實現序列化機制,同時須要建立一個公共靜態終態Creator類型成員屬性CREATOR,Parcelable是Android提供的一種序列化機制,是徹底用於Android開發的,所以效率較Serializable高出不少,一般使用Parcelable來進行自定義類型參數傳遞瀏覽器
intent.setData(Uri.parse("scheme://host:port/path?a=sss&b=adsa"));
經過intent的Data來傳遞數據,相似url傳參數據結構
Intent intent=getIntent(); String s=intent.getStringExtra("aa"); //或者 Bundle b=intent.getExtras();
自定義傳遞參數app
Intent intent=getIntent(); Modle1 m= (Modle1) intent.getSerializableExtra("a"); //或者 Modle2 modle2=intent.getParcelableExtra("a");
Data傳遞參數ide
Intent intent=getIntent(); Uri uri=intent.getData(); String a=uri.getQueryParameter("a");
<intent-filter> <category android:name="ANDROID.INTENT.CATEGORY.APP_BROWSER"></category> <action android:name="ANDROID.INTENT.ACTION.VIEW"></action> <category android:name="ANDROID.INTENT.CATEGORY.DEFAULT"></category> </intent-filter>
<data android:scheme="aa"></data>
添加協議,路由,ip等,只要知足需求的url都會啓動該Activity優化
<intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter>