Android 打開本地第三方應用,如QQ,微博,微信等。

Android開發過程中,有時候會有需求去打開本地的應用,做點小貓膩,比如常見的就是關注微信公衆號什麼的。好好的在自己APP上不玩,非要跳轉到別的APP,我還能說什麼,只有畫圈圈。看官不要跑,快來圍觀代碼。

ComponentName componet = new ComponentName(pkg, cls);
                //pkg 就是第三方應用的包名
                //cls 就是第三方應用的進入的第一個Activity
                Intent intent = new Intent();
                intent.setComponent(componet);
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

下面是一些常見應用的包名和閃屏

應用 pkg cls
QQ com.tencent.mobileqq com.tencent.mobileqq.activity.SplashActivity
騰訊微博 com.tencent.WBlog com.tencent.WBlog.activity.WBlogFirstRun
微信 com.tencent.mm com.tencent.mm.ui.LauncherUI
新浪微博 com.sina.weibo com.sina.weibo.SplashActivity

看官接着往下面看

如何獲取pkg和cls

Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
        mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        PackageManager mPackageManager = this.getPackageManager();
        List<ResolveInfo> mAllApps = mPackageManager.queryIntentActivities(mainIntent, 0);
        //按報名排序
        Collections.sort(mAllApps, new ResolveInfo.DisplayNameComparator(mPackageManager));

        for(ResolveInfo res : mAllApps){
            //該應用的包名和主Activity
            String pkg = res.activityInfo.packageName;
            String cls = res.activityInfo.name;
            Log.d("pkg_cls","pkg---" +pkg +"  cls---" + cls );

        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

只需要去日誌中查看,就可以找到對應的手機APP的包名和對應的Activity.

你的認可,是我堅持更新博客的動力,如果覺得有用,就請點個贊,謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章