رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

مشکل عدم انتقال "#" به صفحه کلید در هنگام برقراری تماس از طریق برنامه


پست های پیشنهاد شده

سلام وقت بخیر.
من یه برنامه ساده نوشتم که وقتی کاربر داخل edit text شماره ای رو وارد کنه و button رو بزنه به صفحه کلید موبایل منتقل میشه و میتونه تماس برقرار کنه. ولی اگه شماره "#" داشته باشه، این کاراکتر منتقل نمیشه. مثلا اگه #733* رو وارد کنه و رو دکمه بزنه ، تو صفحه کلید تماس خود موبایل فقط 733*میاد و # حذف میشه. مشکل از کجاست ؟


این هم کد onClick روی button :

btncallOUT.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

              String phoneNum = mPhoneEt.getText().toString();
                    String dial = "tel:" + phoneNum; 
                    Uri uri = Uri.parse(dial);
                    
                    Intent intent = new Intent(Intent.ACTION_DIAL, uri);
                    startActivity(intent);         
        }); 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 12 ساعت قبل، sajjad888 گفته است :

سلام وقت بخیر.
من یه برنامه ساده نوشتم که وقتی کاربر داخل edit text شماره ای رو وارد کنه و button رو بزنه به صفحه کلید موبایل منتقل میشه و میتونه تماس برقرار کنه. ولی اگه شماره "#" داشته باشه، این کاراکتر منتقل نمیشه. مثلا اگه #733* رو وارد کنه و رو دکمه بزنه ، تو صفحه کلید تماس خود موبایل فقط 733*میاد و # حذف میشه. مشکل از کجاست ؟


این هم کد onClick روی button :


btncallOUT.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

              String phoneNum = mPhoneEt.getText().toString();
                    String dial = "tel:" + phoneNum; 
                    Uri uri = Uri.parse(dial);
                    
                    Intent intent = new Intent(Intent.ACTION_DIAL, uri);
                    startActivity(intent);         
        }); 

 

این کد نباید مشکلی داشته باشه.. تست نمایید

  Intent callIntent = new Intent(Intent.ACTION_DIAL);
        callIntent.setData(Uri.parse("tel:"+etPhoneNumber.getText().toString()));
        startActivity(callIntent);

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 هفته بعد...
در در 1396/10/13, 13:20:54، Farzad Sarseifi گفته است :

این کد نباید مشکلی داشته باشه.. تست نمایید


  Intent callIntent = new Intent(Intent.ACTION_DIAL);
        callIntent.setData(Uri.parse("tel:"+etPhoneNumber.getText().toString()));
        startActivity(callIntent);

 

 

ممنون از پاسخ شما. تو یکی از انجمن های خارجی دیدم که برای حل این مشکل از uri.encode() استفاده کردن. نمونه کد رو میزارم شاید برای مشکلات مشابه بدرد بخوره :

 btncallOUT.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String phoneNum = mPhoneEt.getText().toString();
                Intent intent = new Intent(Intent.ACTION_DIAL);
                intent.setData(Uri.parse("tel:" + Uri.encode(phoneNum)));
                startActivity(intent);} });

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...