国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android編程實(shí)現(xiàn)在一個(gè)程序中啟動(dòng)另一個(gè)程序的方法

2019-10-23 19:46:28
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Android編程實(shí)現(xiàn)在一個(gè)程序中啟動(dòng)另一個(gè)程序的方法。分享給大家供大家參考,具體如下:

Android 開(kāi)發(fā)有時(shí)需要在一個(gè)應(yīng)用中啟動(dòng)另一個(gè)應(yīng)用,比如Launcher加載所有的已安裝的程序的列表,當(dāng)點(diǎn)擊圖標(biāo)時(shí)可以啟動(dòng)另一個(gè)應(yīng)用。

一般我們知道了另一個(gè)應(yīng)用的包名和MainActivity的名字之后便可以直接通過(guò)如下代碼來(lái)啟動(dòng):

Intent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);ComponentName cn = new ComponentName(packageName, className);intent.setComponent(cn);startActivity(intent);

但是更多的時(shí)候,我們一般都不知道應(yīng)用程序的啟動(dòng)Activity的類名,而只知道包名,我們可以通過(guò)ResolveInfo類來(lái)取得啟動(dòng)Acitivty的類名。

下面是實(shí)現(xiàn)代碼:

private void openApp(String packageName) {  PackageInfo pi = getPackageManager().getPackageInfo(packageName, 0);  Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);  resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);  resolveIntent.setPackage(pi.packageName);  List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);  ResolveInfo ri = apps.iterator().next();  if (ri != null ) {    String packageName = ri.activityInfo.packageName;    String className = ri.activityInfo.name;    Intent intent = new Intent(Intent.ACTION_MAIN);    intent.addCategory(Intent.CATEGORY_LAUNCHER);    ComponentName cn = new ComponentName(packageName, className);    intent.setComponent(cn);    startActivity(intent);  }}

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開(kāi)發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 扎囊县| 开平市| 孟连| 杭州市| 昆明市| 嘉禾县| 浠水县| 台安县| 大石桥市| 股票| 北川| 德惠市| 克什克腾旗| 平顺县| 名山县| 鄯善县| 华阴市| 贺兰县| 宁陵县| 临湘市| 宝丰县| 涟源市| 济源市| 大庆市| 肃北| 伊金霍洛旗| 揭西县| 尖扎县| 东至县| 澄迈县| 伊吾县| 兴城市| 鸡泽县| 大石桥市| 搜索| 克拉玛依市| 南昌市| 舟曲县| 龙胜| 济源市| 信宜市|