Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检测Android手机是否安装了特定的应用程序?_Android_Detection_Smartphone - Fatal编程技术网

如何检测Android手机是否安装了特定的应用程序?

如何检测Android手机是否安装了特定的应用程序?,android,detection,smartphone,Android,Detection,Smartphone,我已经使用下面描述的meta标记对iPhone应用程序进行了检测: 现在我也在尝试对Droid应用程序进行嗅探。基本上,我想检查用户是否安装了“嗅探”应用程序。由此: 现在,从pkgAppList可以看到是否安装了应用程序如何检测智能手机是否安装了Android应用程序 为了使代码正常工作,请使用应用程序id更改“com.your.package.appname.id” id是应用程序包,也是市场url,例如市场上的gmail应用程序url是,id/packagename是com.google

我已经使用下面描述的meta标记对iPhone应用程序进行了检测:

现在我也在尝试对Droid应用程序进行嗅探。基本上,我想检查用户是否安装了“嗅探”应用程序。

由此:

现在,从pkgAppList可以看到是否安装了应用程序

如何检测智能手机是否安装了Android应用程序

为了使代码正常工作,请使用应用程序id更改
“com.your.package.appname.id”

id是应用程序包,也是市场url,例如市场上的gmail应用程序url是,id/packagename是
com.google.android.gm

import android.app.Activity;
import android.content.pm.PackageManager;
import android.os.Bundle;

public class Example extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //Put the package name here...
        boolean installed  =   appInstalledOrNot("com.your.package.appname.id");
        if(installed)
        {
                  System.out.println("App already installed om your android");
        }
        else
        {
            System.out.println("App is not installed om your android");
        }
    }
    private boolean appInstalledOrNot(String uri)
    {
        PackageManager pm = getPackageManager();
        boolean app_installed = false;
        try
        {
               pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
               app_installed = true;
        }
        catch (PackageManager.NameNotFoundException e)
        {
               app_installed = false;
        }
        return app_installed ;
}
}

谢谢-我会试试的。嗯……getPackageManager()方法在哪里?它需要位于活动类内部或从applicationContext.getPackageManager()调用
import android.app.Activity;
import android.content.pm.PackageManager;
import android.os.Bundle;

public class Example extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //Put the package name here...
        boolean installed  =   appInstalledOrNot("com.your.package.appname.id");
        if(installed)
        {
                  System.out.println("App already installed om your android");
        }
        else
        {
            System.out.println("App is not installed om your android");
        }
    }
    private boolean appInstalledOrNot(String uri)
    {
        PackageManager pm = getPackageManager();
        boolean app_installed = false;
        try
        {
               pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
               app_installed = true;
        }
        catch (PackageManager.NameNotFoundException e)
        {
               app_installed = false;
        }
        return app_installed ;
}
}