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

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

konect  11 سال پیش  11 سال پیش
0 0

سلام خدمت دوستان. می خوام در اجرای کد 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;}}

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

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

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