很多情況下我們需要從一個app點擊啓動或者喚醒另一個app,例如,天貓會啓動支付,攜帶數據,跳到支付寶的相關頁面進行支付。
其中關鍵的代碼如下:
PackageManager packageManager = MainActivity.this.getPackageManager(); // 當前Activity獲得packageManager對象
Intent intent=new Intent();
try {
//下面字符串就是你另外一個應用的包的路徑
intent = packageManager.getLaunchIntentForPackage("cn.com.xxx.xxxxx");
} catch (Exception e) {
Log.i(TAG, e.toString());
}
startActivity(intent);
Intent其他用法
當android系統決定接收Intent對象的activity之後,該activity就會被啓動,然後運行在它的onCreat()方法中,那麼我們需要進行判斷
Intent intent = getIntent(); // 獲取android系統傳入intent對象
String action = intent.getAction();
String scheme = intent.getScheme();
if(scheme.equals("http")){
// 運行打開網頁的代碼
String string = "打開網頁"+it.getData().toString();
textView.setText(string);
}else if(action.equals("android.intent.action.tel")){
String number = "電話" + it.getData().toString();
editText.setText(number);
}else if(action.equals("android.intent.action.EDIT")){
// 運行編輯文件的程序代碼
}else if(action.equals("android.intent.action.VIEW")){
//運行看文件程序
}
在此manifest.xml的activity裏寫intenT_filter標註相應的scheme=“http”等