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

مشکل در ارسال apk از داخل برنامه (حل شد)

sagheb95  11 سال پیش  11 سال پیش
+1 0

من برای ارسال فایل apk از داخل برنامه از این کد استفاده می کنم . اما نمیدونم چرا با shareapp خطا میده..

  btnShare.setOnClickListener(newOnClickListener(){
@Override

publicvoid onClick(View v){

shareApp (G.context ,"Share App")// or shareApp (ActivityName.this , "Share App")

}

});

// ارسال برنامه از طرق مختلف

publicstaticvoid shareApp (Context context ,String title){

try{

PackageManager pm = context.getPackageManager();

ApplicationInfo ai = pm.getApplicationInfo(context.getPackageName(),0);

File srcFile =newFile(ai.publicSourceDir);

Intent share =newIntent();

share.setAction(Intent.ACTION_SEND);

share.setType("application/*");

share.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(srcFile));

context.startActivity(Intent.createChooser(share, title));

}catch(Exception e){

}

}

 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
mghaffari  11 سال پیش
+1 0

من برای ارسال apk از کد زیر استفاده میکنم مشکلی هم ندارم:

 try{ 
    ArrayList<Uri> uris = new ArrayList<Uri>();
    Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
    sendIntent.setType("application/vnd.android.package-archive");
    uris.add(Uri.fromFile(new File(getApplicationInfo().publicSourceDir)));
    sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
    startActivity(Intent.createChooser(sendIntent, null));
 
 
}catch(Exception e){
 
    ArrayList<Uri> uris = new ArrayList<Uri>();
    Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
    sendIntent.setType("application/zip");
    uris.add(Uri.fromFile(new File(getApplicationInfo().publicSourceDir)));
    sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
    startActivity(Intent.createChooser(sendIntent, null));
}
پاسخ به سوال 
mghaffari  11 سال پیش
0 0

از این هم میتونی استفاده کنی:

  public static void sendAppItself(Activity paramActivity, String paramStringToastMsg) throws IOException {
        Toast.makeText(paramActivity, paramStringToastMsg, Toast.LENGTH_LONG).show();
        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();
        }

    }
پاسخ به سوال 
sagheb95  11 سال پیش
0 0

این ارور رو میده 

+1 0
ارور اول رو اسم متد واسه static بودنش ه احتمالا جای درستی نذاشتیش ارور دوم هم واسه اینه که پارامتری ندادی بهش خیلی سخت نیست اگه میخوای برات یه sample از هر دوتا میزنم لینکش رو میذارم ببینی (11 سال پیش)
0 0
ممنونم میشم اگر زحمتش رو بکشی و sample رو بزاری . (11 سال پیش)
0 0
لینک (11 سال پیش)
0 0
لینک (11 سال پیش)
0 0
لینک اولی رو سایت درست نشون نداد، از لینک دومی استفاده کنید (11 سال پیش)
0 0
خیلی ممنون.تشکر (11 سال پیش)
+1 0
دوست عزیز : mghaffari خیلی ممنون . توسط شما مشکلم حل . موفق باشی (11 سال پیش)
0 0
دوست عزیز من مدیر نیستم ولی می تونید برای تشکر از لایک استفاده کنید. (11 سال پیش)
پاسخ به سوال 
وحید  11 سال پیش
0 0

لینک

 

این لینک رو برای این زدم که دوستان گیج نشن.


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