sajjad888

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

3 ارسال در این موضوع قرار دارد

سلام وقت بخیر.
من یه برنامه ساده نوشتم که وقتی کاربر داخل 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);

 

 

1 کاربر پسند دیده است

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در 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);} });

 

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری