آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

install / uninstall کردن برنامه ها در پروژه مارکت

غزل  11 سال پیش  11 سال پیش
0 0

سلام دوستان .در پروژه مارکت میخوام کدی بنویسم که با کلیک کردن روی یه دکمه اگر برنامه نصب نیست 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);
    }




    

}
0 0
اول یک کلاس میسازیم به اسم appinfo (11 سال پیش)
پاسخ به سوال 
omidronaldoo  11 سال پیش
0 0

  private ArrayList<AppInfo> arraylist;
arraylist = new ArrayList<AppInfo>();
0 0
بعدش داخل کلاسی که میخوای کدشو بنویسی اینا رو تعریف می کنی (11 سال پیش)
0 0
ممنون آقای بخشور براتون یه پیام خصوصی فرستادم لطفا چک کنید (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .