Android通過App啟動(dòng)另一個(gè)APP

在開發(fā)項(xiàng)目中會(huì)遇到這樣的需求胚吁,通過一個(gè)應(yīng)用啟動(dòng)另外一個(gè)應(yīng)用或者打開另一個(gè)應(yīng)用的某個(gè)Activity延窜。雖然說我還沒遇到過,但突然想到這個(gè)問題腺办,就自己寫了個(gè)Demo測(cè)試了一下焰手,在這里做一下簡(jiǎn)單總結(jié)。

1怀喉、通過APP啟動(dòng)另一個(gè)APP

直接上代碼书妻,

    PackageManager packageManager = getPackageManager();
    if (checkPackInfo(packname)) {
        Intent intent = packageManager.getLaunchIntentForPackage(packname);
        startActivity(intent);
    } else {
        Toast.makeText(MainActivity.this, "沒有安裝" + packname, 1).show();
    }

    /**
     * 檢查包是否存在
     *
     * @param packname
     * @return
     */
    private boolean checkPackInfo(String packname) {
        PackageInfo packageInfo = null;
        try {
            packageInfo = getPackageManager().getPackageInfo(packname, 0);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return packageInfo != null;
    } 

如果手機(jī)上已經(jīng)安裝了另一個(gè)APP直接就能夠打開了。

2躬拢、打開另一個(gè)APP指定的Activity

    Intent intent = new Intent();
    //第一種方式
    ComponentName cn = new ComponentName("com.example.fm", "com.example.fm.MainFragmentActivity");
    try {
        intent.setComponent(cn);
        //第二種方式
        //intent.setClassName("com.example.fm", "com.example.fm.MainFragmentActivity");
        intent.putExtra("test", "intent1");
        startActivity(intent);
    } catch (Exception e) {
        //TODO  可以在這里提示用戶沒有安裝應(yīng)用或找不到指定Activity驻子,或者是做其他的操作
    }

這里有兩點(diǎn)需要注意
1、需要將目標(biāo)Activity的android:exported="true"屬性在所屬應(yīng)用AndroidMainfest里設(shè)置為true估灿,意思是當(dāng)前Activity可以被外部應(yīng)用訪問,否則會(huì)報(bào)下面的錯(cuò)誤

  Caused by: java.lang.SecurityException: Permission Denial: starting  Intent 
  { cmp=com.example.fm/.MainFragmentActivity (has extras) } from ProcessRecord
  {39282a97 11545:com.xing.toolbardemo1/u0a71}  (pid=11545,     uid=10071) not exported from uid 10067

2缤剧、需要在當(dāng)前應(yīng)用的AndroidMainfest里也聲明目標(biāo)Activity馅袁,否則會(huì)報(bào)下面的錯(cuò)誤
(5.0以后好像不會(huì)有這個(gè)錯(cuò),我用的了兩個(gè)5.0一下的測(cè)試機(jī)都報(bào)錯(cuò)了)

   Caused by: android.content.ActivityNotFoundException: Unable to find 
   explicit activity class {com.example.fm/com.example.fm.MainFragmentActivity}; 
   have you declared this activity in your AndroidManifest.xml? 

在清單文件里聲明目標(biāo)Activity就OK了

  <activity android:name="com.example.fm.MainFragmentActivity"></activity>

這樣我們就實(shí)現(xiàn)了通過一個(gè)APP打開另一個(gè)APP的功能啦荒辕。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末汗销,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子抵窒,更是在濱河造成了極大的恐慌弛针,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件李皇,死亡現(xiàn)場(chǎng)離奇詭異削茁,居然都是意外死亡宙枷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門茧跋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來慰丛,“玉大人,你說我怎么就攤上這事瘾杭∽绮。” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵粥烁,是天一觀的道長(zhǎng)贤笆。 經(jīng)常有香客問我,道長(zhǎng)讨阻,這世上最難降的妖魔是什么芥永? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮变勇,結(jié)果婚禮上恤左,老公的妹妹穿的比我還像新娘。我一直安慰自己搀绣,他們只是感情好飞袋,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著链患,像睡著了一般巧鸭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上麻捻,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天纲仍,我揣著相機(jī)與錄音,去河邊找鬼贸毕。 笑死郑叠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的明棍。 我是一名探鬼主播乡革,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼摊腋!你這毒婦竟也來了沸版?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤兴蒸,失蹤者是張志新(化名)和其女友劉穎视粮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體橙凳,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蕾殴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年笑撞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片区宇。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡娃殖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出议谷,到底是詐尸還是另有隱情炉爆,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布卧晓,位于F島的核電站芬首,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏逼裆。R本人自食惡果不足惜郁稍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望胜宇。 院中可真熱鬧耀怜,春花似錦、人聲如沸桐愉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)从诲。三九已至左痢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間系洛,已是汗流浹背俊性。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留描扯,地道東北人定页。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像绽诚,于是被迫代替她去往敵國(guó)和親拯勉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容