創(chuàng)新互聯(lián)長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為清河門企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計,清河門網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
兩個app之間怎么調(diào)用?
(1):通過顯示Intent 啟動
首先:配置好B app 的action,即AndroidManifest.xml中聲明
A app 調(diào)用需要知道B app對應(yīng)的action
通過如下方法調(diào)用:
Intent Intent = new Intent();
intent.setClassName("com.itlanbao.app", "com.itlanbao.app.MainActivity");
startActivity(intent);
(2):隱式的Intent來啟動方式
比如調(diào)用打電話功能:
1.Uri number = Uri.parse("tel:5551234");
2.Intent callIntent = new Intent(Intent.ACTION_DIAL, number);
瀏覽網(wǎng)頁:
Uri webpage = Uri.parse("http://www.android.com");
Intent webIntent = new Intent(Intent.ACTION_VIEW, webpage);
此外,我們在定義我們的Intent的時候,要盡可能的詳細,例如我們希望調(diào)用系統(tǒng)的圖片查看器瀏覽圖片,我們應(yīng)該定義MIME type" p_w_picpath/*.",以防止會啟動map app進行查看。而且如果沒有app來響應(yīng)我們的請求,我們的app就會崩潰。
因此為了防止我們的app發(fā)送intent沒有其他app來響應(yīng)而導(dǎo)致應(yīng)用異常退出,我們在發(fā)送intent前進行驗證。為了驗證是否有app的
Activity來響應(yīng)我們的Intent請求,我們需要調(diào)用queryIntentActivities()來進行驗證。這個方法會返回一個list,
我們通過判斷l(xiāng)ist是否為空來驗證,這樣我們可以安全的使用Intent來實現(xiàn)不同App之間Activity的交互。如果沒有響應(yīng)的Acitivty
來響應(yīng),我們可以提供一些鏈接給用戶進行下載安裝
PackageManager packageManager = getPackageManager();
List
boolean isIntentSafe = activities.size() > 0;
文章來自IT藍豹,感謝原創(chuàng)作者的辛勤付出!
請轉(zhuǎn)發(fā)標(biāo)明出處:www.itlanbao.com
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。