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

ارسال شماره برای کد ussd

مدیریت گفتگو
konect 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام خدمت دوستان. می خوام در اجرای کد ussd کاربر مثلا برای شارژ سیم کارت یه شماره وارد کنه که این شماره یا شماره سیم کارتش باشه یا ورود شماره به صورت دستی یا یک شماره از کانتکت. میشه راهنمایی بفرماییدکه:

1) چطور شماره را به  کد ussd انتقال دهیم؟

2) چطور می توان شماره از کانتکت انتخاب کرد؟

3) چطور می توان به شماره سیم کارت دسترسی داشت؟

نظرات

پاسخ‌ها 1

کاشی زاده 11 سال پیش

@جواب سوال اول  استفاده از Intent برای شمارگیری :

1- اضافه کردن پرمیشن مورد نیاز به منیفست :

 <uses-permissionandroid:name="android.permission.CALL_PHONE"/>

2-اضافه کردن کد زیر در دکمه مربوطه برای برقراری ارتباط :

 Intent intent =newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+"Your Phone_number"));
 startActivity(intent);

@جواب سوال دوم استفاده کردن از کدهای زیر :

 Intent intent =newIntent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
    startActivityForResult(intent, 1);

استفاده از متد onActivityResult :

 @Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);

switch (reqCode) {
case (PICK_CONTACT) :
if (resultCode == Activity.RESULT_OK) {

Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {


String id =c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));

String hasPhone =c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));

if (hasPhone.equalsIgnoreCase("1")) {
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ id,
null, null);
phones.moveToFirst();
cNumber = phones.getString(phones.getColumnIndex("data1"));
System.out.println("number is:"+cNumber);
}
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));


}
}
break;
}
}
cts.DISPLAY_NAME));}}break;}}

@جواب سوال سوم هم استاد قبلا در آموزش ها قسمت مربوط به خواندن اطلاعت دستگاه گفتن که این امکان فقط بر روی برخی از سیم کارت ها فعال هست و نحوه گرفتن شماره رو توضیح دادند .

نظرات

konect 11 سال پیش
ممنون بابت پاسخ سریع شما. من قبلا تونسته بودم ussd رو ااجرا کنم. با توجه به پاسخ شما تونستم وارد کانتکت بشم فقط نمیدونم متد onActivityResult چکار میکنه و کجا باید دقیقا قرارش بدم. ولی چطوری این ها رو به کد ussd بفهمونم؟مثلا برای شارژ خط این شماره بره داخل اون باکس در اقع؟
کاشی زاده 11 سال پیش
متد onActivityResult رو داخل Activity قرار میدید و داخلش شماره ای که انتخاب کردید رو بر میگردونه و شماره رو کپی میکنید داخل EditText
konect 11 سال پیش
ببخشید من متوجه نشدم که متد دقیقا باید کجا قرار بدم. یعنی داخل جایی که دکمه مثلا رفتن به کانتکت قرار دادم. آخه آخرش گیر میده. }cts.DISPLAY_NAME));}}break;}}
کاشی زاده 11 سال پیش
در داخل کلاس اکتیویتی که قرار هست بره به Contact

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