تبلیغات

قطعه کد اندروید اشتراک گذاری برنامه (ارسال فایل APK یک برنامه)

شاید بخواهید کاربران بتوانند از داخل نرم‌افزار شما، فایل APK آن را از طریق شبکه‌های اجتماعی، بلوتوث، هات اسپات و … با دیگران به اشتراک بگذارند. و یا اینکه فایل APK نرم‌افزارهای دیگر را به اشتراک بگذارید.

بدین منظور می‌توان از متد زیر استفاده کرد:

public static boolean shareApp(Context context, String packageName, String title) {
    try {
        StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
        StrictMode.setVmPolicy(builder.build());
        PackageManager pm = context.getPackageManager();
        ApplicationInfo ai = pm.getApplicationInfo(packageName, 0);
        File srcFile = new File(ai.publicSourceDir);
        Intent share = new Intent();
        share.setAction(Intent.ACTION_SEND);
        share.setType("application/vnd.android.package-archive");
        share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(srcFile));
        context.startActivity(Intent.createChooser(share, title));
        return true;
    } catch (Exception e) {
        return false;
    }
}

این متد، با دریافت یک context، نام پکیج مورد نظر و عنوان دیالوگ اشتراک گذاری، عملیات را برای شما انجام داده و در صورت موفقیت آمیز بودن، مقدار true را برمی‌گرداند.

دو خط اول در این کد که با StrictMode نوشته شده‌آند، جهت رفع خطای زیر در اندروید API 24 به بالا می‌باشند:

exposed beyond app through ClipData.Item.getUri()

مثال در یک اکتیویتی

در این مثال، اپلیکیشن خود را به اشتراک می‌گذاریم:

if (!shareApp(this, getPackageName(), "اشتراک گذاری نرم افزار")) {
    Toast.makeText(this, "ناموفق", Toast.LENGTH_LONG).show();
}

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده 3 دیدگاه

    1. شیدا کاربر مهمان گفت:

      ببخشید من یک برنامه در گوشی به زبان c نوشته‌ام.
      حالا چطور می‌تونم این کد رو به apk تبدیل کنم؟
      اگر زحمتی نیست جواب را برایم بفرستید

      01
    2. saeid کاربر مهمان گفت:

      سلام با اشتراک کردن به جای اسم برنامه اونو به اسم base.apkاشتراک میذاره چجوری باید این اسم رو تغییر داد؟

      01
      1. هادی اکبرزاده مدیر سایت گفت:

        سلام. بایستی ابتدا فایل کپی شه وگرنه تاجایی که اطلاع دارم امکانش وجود نداره.

توضیحات پیشنهادی نظرات اشتراک