android從一個app點選啟動或者喚醒另一個app
阿新 • • 發佈:2019-02-11
很多情況下我們需要從一個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”等