بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
install / uninstall کردن برنامه ها در پروژه مارکت
سلام دوستان .در پروژه مارکت میخوام کدی بنویسم که با کلیک کردن روی یه دکمه اگر برنامه نصب نیست install و اگر نصب هست uninstall کنه برنامه رو .. کد های install و uninstall کردن رو از stackoverflow پیدا کردم اما شرط نصب بودن برنامه رو بلد نیستم لطفا کمک کنید!
0
0
(11 سال پیش)
0
0
کسی نمیدونه؟ (11 سال پیش)
0
0
من کداشو بلد نیستم ولی اول باید یک arraylist از اسم برنامه های نصبی و پکیجشون بگیری مقایسه کنی با لیست خودت اگه بود uninstall اگه نبود install. (11 سال پیش)
0
0
باید یک arraylist از پکیج برنامه های نصبی بگیری (11 سال پیش)
0
0
با روشی که بالا گفتم کداشو بنویسی راه حلش اینه.کدنویسیش بستگی به خودت داره.تمام مارکت ها با این روش برنامه های نصبی رو بدست میارن (11 سال پیش)
0
0
ممنون از راهنماییتون ولی فکر نکنم بلد باشم کدهاشو بنویسم! اگه کسی میدونه لطفا کمک کنه (11 سال پیش)
0
0
یه سری کد دارم خونه که رفتم برات میفرستم واسه گرفتن برنامه های نصبی (11 سال پیش)
0
0
نمونه بهت میدم روش یک کم کار کنی میتونی متدشو بنویسی (11 سال پیش)
0
0
ممنون از لطفتون (11 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
omidronaldoo
11 سال پیش
0
0
import android.annotation.SuppressLint;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
import android.content.res.AssetManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.util.DisplayMetrics;
import java.io.File;
import java.math.BigDecimal;
import java.util.Locale;
public class AppInfo implements Comparable<Object> {
private Context ctx;
private ResolveInfo ri;
private ComponentName componentName = null;
private PackageInfo pi = null;
private Drawable icon = null;
String name = null;
public AppInfo(Context ctx, ResolveInfo ri) {
this.ctx = ctx;
this.ri = ri;
this.componentName = new ComponentName(ri.activityInfo.applicationInfo.packageName, ri.activityInfo.name);
try {
pi = ctx.getPackageManager().getPackageInfo(getPackageName(), 0);
} catch (NameNotFoundException e) {
}
}
public String getName() {
if (name != null) {
return name;
} else {
try {
return getNameFromResolveInfo(ri);
} catch (NameNotFoundException e) {
return getPackageName();
}
}
}
public String getsourcedir() {
PackageInfo pi = getPackageInfo();
return pi.applicationInfo.sourceDir;
}
public String getPackageName() {
return ri.activityInfo.packageName;
}
public ResolveInfo getResolveInfo() {
return ri;
}
public PackageInfo getPackageInfo() {
return pi;
}
public String getVersionName() {
PackageInfo pi = getPackageInfo();
if (pi != null) {
return pi.versionName;
} else {
return "";
}
}
public int getVersionCode() {
PackageInfo pi = getPackageInfo();
if (pi != null) {
return pi.versionCode;
} else {
return 0;
}
}
public Drawable getIcon() {
if (icon == null) {
icon = getResolveInfo().loadIcon(ctx.getPackageManager());
/*
Drawable dr = getResolveInfo().loadIcon(ctx.getPackageManager());
Bitmap bitmap = ((BitmapDrawable) dr).getBitmap();
icon = new BitmapDrawable(ctx.getResources(), AppHelper.getResizedBitmap(bitmap, 144, 144));
*/
}
return icon;
}
@SuppressLint("NewApi")
@Override
public int compareTo(Object o) {
AppInfo f = (AppInfo) o;
return getName().compareTo(f.getName());
}
@Override
public String toString() {
return getName();
}
/**
* Helper method to get an applications name!
*
* @param ri
* @return
* @throws android.content.pm.PackageManager.NameNotFoundException
*/
public String getNameFromResolveInfo(ResolveInfo ri) throws NameNotFoundException {
String name = ri.resolvePackageName;
if (ri.activityInfo != null) {
Resources res = ctx.getPackageManager().getResourcesForApplication(ri.activityInfo.applicationInfo);
Resources engRes = getEnglishRessources(res);
if (ri.activityInfo.labelRes != 0) {
name = engRes.getString(ri.activityInfo.labelRes);
if (name == null || name.equals("")) {
name = res.getString(ri.activityInfo.labelRes);
}
} else {
name = ri.activityInfo.applicationInfo.loadLabel(ctx.getPackageManager()).toString();
}
}
return name;
}
public Resources getEnglishRessources(Resources standardResources) {
AssetManager assets = standardResources.getAssets();
DisplayMetrics metrics = standardResources.getDisplayMetrics();
Configuration config = new Configuration(standardResources.getConfiguration());
config.locale = Locale.US;
return new Resources(assets, metrics, config);
}
}
پاسخ به سوال
omidronaldoo
11 سال پیش
0
0
private ArrayList<AppInfo> arraylist;
arraylist = new ArrayList<AppInfo>();
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .