如何检测安装在任何浏览器手机中的app android或iOS?

时间:2014-07-24 04:40:38

标签: javascript android ios browser

如何检测安装在任何移动浏览器中的app android或iOS ???

示例:当我转到地址http://news.zing.vn时,如果应用没有安装,则会显示一条警告,其中包含此消息" App xxx可在Store中使用。立即安装。"

如果选择确定,手机将使用我的应用程序打开Play Store(Android)或AppStore(iOS)。 如果选择取消,浏览器将保存cookie并在下次不显示警报。

抱歉我的英语不好!!!

2 个答案:

答案 0 :(得分:1)

看看是否有帮助

if(CheckNetwork.isInternetAvailable(getActivity())) //returns true if internet available
            {
                boolean chrome_status  =   appInstallationStatus("com.android.chrome");  
                if(chrome_status) {
                    //This intent will help you to launch if the package is already installed
                    Log.i("App already installed on your phone");
                    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                    builder.setTitle("Info");
                    builder.setMessage("Google Chrome is the preferred browser. For best performance please select Chrome")
                   .setCancelable(false)
                   .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                           dialog.cancel();

Intent intent = new Intent(getActivity(), MyActivity.class);
startActivity(intent);
                       }
                   });
                    builder.create();
                    builder.show();
                }
                else {
                     Log.i("App is not installed on your phone");
                     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                     builder.setTitle("Info")
                     .setMessage("No Google Chrome found. Chrome is the preferred browser. Do you want to install it ?")
                     .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int which) { 
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id="+"com.android.chrome&hl=en")));
                         }
                      })
                     .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int which) { 

dialog.cancel();
Intent intent = new Intent(getActivity(), MyActivity.class);
startActivity(intent);
                         }
                      })
                     .setIcon(android.R.drawable.ic_dialog_alert)
                      .show();
                }
            }   
            else {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Network Error");
                alertDialog.setMessage("No network connectivity. Please try again later!");
                alertDialog.setPositiveButton(R.string.cancel,
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {

                            }
                });
                alertDialog.create().show();
            }

否则请尝试查看此链接。 Detect from browser if a specific application is installed in Android

答案 1 :(得分:0)

我认为网站无法知道该应用是否已安装在移动设备上。

您可以做的就是告诉用户是使用Android还是iOS系统。然后根据用户使用的系统向他们显示指向iTunes App Store或Google Play商店的链接。如果他们点击取消,则保存一个cookie,下次不显示警报。