بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ارسال شماره برای کد ussd
سلام خدمت دوستان. می خوام در اجرای کد ussd کاربر مثلا برای شارژ سیم کارت یه شماره وارد کنه که این شماره یا شماره سیم کارتش باشه یا ورود شماره به صورت دستی یا یک شماره از کانتکت. میشه راهنمایی بفرماییدکه:
1) چطور شماره را به کد ussd انتقال دهیم؟
2) چطور می توان شماره از کانتکت انتخاب کرد؟
3) چطور می توان به شماره سیم کارت دسترسی داشت؟
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
کاشی زاده
11 سال پیش
+2
0
@جواب سوال اول استفاده از 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;}}
@جواب سوال سوم هم استاد قبلا در آموزش ها قسمت مربوط به خواندن اطلاعت دستگاه گفتن که این امکان فقط بر روی برخی از سیم کارت ها فعال هست و نحوه گرفتن شماره رو توضیح دادند .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .