بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

یک دکمه اشتراک گذاری اپ میخوام بذارم

مدیریت گفتگو
MasterSPYware 10 سال پیش
آخرین تغییر: 9 سال پیش

سلام.من میخوام یک دکمه داخل اپلیکیشنم ایجاد کنم که با استفاده از اون بشه اپلیکیشن رو از طریق رسانه های اجتماعی داخل موبایل به اشتراک بذارم.
کسی میتونه راهنمایی کنه و کد جاوا این کار رو در اختیارم بذاره؟؟؟

نظرات

پاسخ‌ها 5

MasterSPYware 10 سال پیش

نظرات

SaeiD-as 10 سال پیش

در ابتدا متد onClick رو برای Button و یا TextView که قراره روش کلیک بشه بنویسید:

           TextView txtShare = (TextView) findViewById(R.id.txtShare);
           txtShare.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                try {
                    sendAppItself(G.currentActivity);
                }
                catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });

تابع ()sendAppItSelf رو به صورت زیر تعریف کنید:

 public static void sendAppItself(Activity paramActivity) throws IOException {
        PackageManager pm = paramActivity.getPackageManager();
        ApplicationInfo appInfo;
        try {
            appInfo = pm.getApplicationInfo(paramActivity.getPackageName(),
                    PackageManager.GET_META_DATA);
            Intent sendBt = new Intent(Intent.ACTION_SEND);
            // NOT THIS! sendBt.setType("application/vnd.android.package-archive");
            sendBt.setType("*/*");
            sendBt.putExtra(Intent.EXTRA_STREAM,
                    Uri.parse("file://" + appInfo.publicSourceDir));

            Log.v("PACKAGEDIR: ", appInfo.publicSourceDir);
            paramActivity.startActivity(Intent.createChooser(sendBt, "Share image using"));
            // paramActivity.startActivity(sendBt);
        }
        catch (NameNotFoundException e1) {
            e1.printStackTrace();
        }
    }

موفق باشید

نظرات

caspian 9 سال پیش
عالی بود. من استفاده کردم. ممنون
MasterSPYware 10 سال پیش

این ارور چطوری رفع میشه؟

نظرات

مسعود فرمانی 10 سال پیش
متغیر paramActivity تون یه نمونه از کلاس Fragment هستش و کلاس Fragment متد getPackageName نداره!این متد رو از طریق یک نمونه ی context میتونید صدا بزنید (مثلا یه نمونه از کلاس Activity یا از طریق applicationContext)
MasterSPYware 10 سال پیش

خب اگه میشه همین کد رو طوری ادیت کنید تا برای فراگمنت آماده بشه؟

نظرات

مسعود فرمانی 10 سال پیش
من که دقیقا نمیدونم میخواید چیکار کنید و با توجه به کدهایی که آقا سعید واستون نوشتن شمام نوع متغیر paramActivity رو همون Activity بذار و نه Fragment! بعدش حالا هرجا خواستی توی کلاس Fragment صداش بزنی مقدار getActivityرو بهش ارسال کن.....
MasterSPYware 10 سال پیش

ای که ذهنت میرسد کدی نویس خخخخ

نظرات

JOBS 10 سال پیش
اگه فیلمارو دیده باشی این paramActivity همون G.CurrentActivity خودمونه برادر

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