您的位置:首页 > 移动开发 > 微信开发

跳转微信

2016-07-11 15:16 501 查看
//当时做项目的时候需要跳转到微信
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI"));
intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);

//后来发现你可以跳转到微信 的前提是你已经装了微信   当你不安装微信 你跳转的时候系统会蹦掉
正确的处理方法是     把包名传递过去就OK

    private void doStartApplicationWithPackageName(String packagename) {  
          
        // 通过包名获取此APP详细信息,包括Activities、services、versioncode、name等等  
        PackageInfo packageinfo = null;  
        try {  
            packageinfo = getPackageManager().getPackageInfo(packagename, 0);  
        } catch (NameNotFoundException e) {  
            e.printStackTrace();  
        }  
        if (packageinfo == null) {  
            Toast.makeText(DingDanInfo.this, "你还没有安装微信", Toast.LENGTH_SHORT).show();
            return;  
        }  
      
        // 创建一个类别为CATEGORY_LAUNCHER的该包名的Intent  
        Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);  
        resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);  
        resolveIntent.setPackage(packageinfo.packageName);  
      
        // 通过getPackageManager()的queryIntentActivities方法遍历  
        List<ResolveInfo> resolveinfoList = getPackageManager()  
                .queryIntentActivities(resolveIntent, 0);  
      
        ResolveInfo resolveinfo = resolveinfoList.iterator().next();  
        if (resolveinfo != null) {  
            // packagename = 参数packname  
            String packageName = resolveinfo.activityInfo.packageName;  
            // 这个就是我们要找的该APP的LAUNCHER的Activity[组织形式:packagename.mainActivityname]  
            String className = resolveinfo.activityInfo.name;  
            // LAUNCHER Intent  
            Intent intent = new Intent(Intent.ACTION_MAIN);  
            intent.addCategory(Intent.CATEGORY_LAUNCHER);  
      
            // 设置ComponentName参数1:packagename参数2:MainActivity路径  
            ComponentName cn = new ComponentName(packageName, className);  
      
            intent.setComponent(cn);  
            startActivity(intent);  
        }  
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android