我已經這樣做了iPhone應用程序的檢測,使用此處描述的meta標籤:如何檢測Android手機是否安裝了特定的應用程序?
現在我想要做的Droid的應用程序內嗅相同。基本上,我想檢查用戶是否安裝了「嗅探」應用程序。
我已經這樣做了iPhone應用程序的檢測,使用此處描述的meta標籤:如何檢測Android手機是否安裝了特定的應用程序?
現在我想要做的Droid的應用程序內嗅相同。基本上,我想檢查用戶是否安裝了「嗅探」應用程序。
從這:How to get a list of installed android applications and pick one to run
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = context.getPackageManager().queryIntentActivities(mainIntent, 0);
現在,從pkgAppList你可以看到,如果安裝該應用程序
智能手機是否已安裝如何檢測一個Android應用程序?
爲了使代碼工作改變"com.your.package.appname.id"
與應用程序ID。
id是應用程序包,也是市場url例如。在市場上的Gmail應用網址https://play.google.com/store/apps/details?id=com.google.android.gm
和ID /包是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 ;
}
}
謝謝你 - 我會盡力的。 – 2013-03-26 19:38:59
嗯...其中是getPackageManager()方法? – 2013-03-27 02:18:15
http://developer.android.com/reference/android/content/Context.html#getPackageManager%28%29它需要在Activity類中或從applicationContext.getPackageManager()調用。 – madlymad 2013-03-27 08:10:17