从根本上说,我想跟踪用户的设备说一些独特的设备ID,然后在用户安装我的应用程序时存储在服务器上!如果它在卸载后再次尝试安装我的应用程序,那么应用程序不应该安装。 我怎么能实现这个目标?
答案 0 :(得分:0)
我认为您无法阻止用户重新安装,但是在您的应用程序中,您设置了一个功能,可以检查数据库中是否存在以前安装过的设备ID,如果您找到了,则会禁用您的功能应用
答案 1 :(得分:0)
您无法自行卸载应用程序(否则您会看到病毒从一开始就擦除我们的手机)但如果在数据库中找到该设备,您仍然可以禁用该应用程序。
答案 2 :(得分:0)
//使用以下代码查找是否安装了应用程序 //您的应用包名称是唯一ID
// appUniqueIdStr - 应用程序的包名称
boolean installed = appInstalledOrNot(appUniqueIdStr);
if(installed){
//dont install
}
else{
//install
}
/**
* check app installed or not
* @param uri is the package name of the app
* @return boolean whether installed or not
*/
private boolean appInstalledOrNot(String uri)
{
boolean app_installed = false;
ListofAppinMyDevice getmyApp=new ListofAppinMyDevice();
ArrayList<PInfo> apps =getmyApp.getInstalledApps(false); /* false = no system packages */
Log.e("hi", "apps==="+apps.toString());
String uri_app=null;
if(uri!=null)
{
uri_app=uri;
}
else
{
uri_app=null;
}
for (int i = 0; i < apps.size(); i++)
{
Log.e("pack name", "apps.get(i).pname.==="+apps.get(i).pname.toString());
if(apps.get(i).pname.toString().trim().equalsIgnoreCase(uri_app))
{
app_installed=true;
Log.v("hi","im inside the loop");
break;
}
}
Log.e("boo", "app_installed==="+app_installed);
return app_installed ;
}