普通跳转豌豆荚跳转三星应用商店的附加:适配普通Tip

普通跳转

Tip:该跳转可适配普通的跳转,例如跳转蚕豆荚

//appPkg是你要跳转的包名
//marketPkg是你使用的应用商店,如果传空,则会把你手机上的应用商店全部列出来
try {
    if (TextUtils.isEmpty(appPkg)) return;
    Uri uri = Uri.parse("market://details?id=" + appPkg);
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    if (!TextUtils.isEmpty(marketPkg)) {
        intent.setPackage(marketPkg);
    }
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
} catch (Exception e) {
    e.printStackTrace();
}

跳转三星应用商店:

由于开发时用的是三星的手机,所以普通的手机仍然跳转不了,就上网查,网上有个高手的一篇博客:

解释到,三星的应用商店的跳转,使用的uri是不一样的,而且他的这篇文章中给出的代码,我用上去还是不行android 应用商店源码,于是就沿着该博客给出的思路,考虑是不是三星商店的uri换了或则是更新了,于是,废了一些力气,总算找到一个可以正常使用的uri:”samsungapps://ProductDetail/”

具体代码如下:

// 跳转三星应用市场

Uri uri = Uri.parse("samsungapps://ProductDetail/"+ appPkg);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("com.sec.android.app.samsungapps");

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

try {
    
    context.startActivity(intent);

} catch (ActivityNotFoundException e) 
{
    
    e.printStackTrace();

}

奇怪的事情出现了:

由于之前使用普通的跳转代码的时侯,可以弹出蚕豆荚,而且不能弹出三星自带的应用市场;使用专门跳转三星的应用商店的代码的话,是直接到三星的应用市场android 应用商店源码,又不会弹出蚕豆荚。

并且当我使用专门跳转三星应用商店的代码运行app而且跳转以后,再度单独使用普通的跳转代码居然可以弹出三星的应用商店了,很困惑。

附加:

一、系统版本信息类:

Tip:获取一些手机硬件的信息的

*如:版本>=2.2、获取系统Android版本、获得设备的固件版本号、判断是否是三星、中兴的手机

*获取CPU的信息、是否支持闪光灯或单反

二、验证app是否存在函数

// app是否存在(验证成功)

public static boolean isApplicationAvilible(Context context, String appPackageName)
 {
    
    PackageManager packageManager = context.getPackageManager();// 获取packagemanager
    
    List pinfo = packageManager.getInstalledPackages(0);// 获取所有已安装程序的包信息
    
    if (pinfo != null) {
        
        for (int i = 0; i < pinfo.size(); i++) {

            String pn = pinfo.get(i).packageName;

            if (appPackageName.equals(pn)) {

                return true;

            }

        }

    }

    return false;

}

© 版权声明
THE END
喜欢就支持一下吧
点赞181赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容