فراگیری نرم افزار نویسی USSD در نرم افزار اندروید
می‌اقتدار از فناوری USSD در نرم افزار‌های اندروید نیز استفاده نمود. یعنی به جای‌اینکه مخاطب به طور دستی در نصیب تماس‌ها کد USSD را شماره‌گیری کرده و از سرویس ها مربوطه به کار گیری نماید، می‌قدرت همین شغل را در بخشی از یک نرم افزار اندرویدی طراحی اپلیکیشن در مشهد  پیاده‌سازی کرد.
به گونه ای که، با فشار دادن یک دکمه به وسیله مخاطب در باطن نرم افزار، یک کد USSD ساخت و شماره‌گیری خواهد شد و بعد از آن سود بازگشتی نیز در خویش نرم افزار اکران داده گردد. مثلا، با اجرای کدهای پایین در یک نرم افزار اندروید، یک پنجره Popup گشوده و واحد سنجش اعتبار باقی‌مانده سیم‌کارت اکران داده شود.
 
1// اخذ اعتبار اکانت سیم‌کارت
2private void dailNumber(String code) {
3 String ussdCode = "*" + code + Uri.encode("#");
4 startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode)));
5}
 
برای اجرای کدهای فوق می بایست اذن دسترسی به قابلیت برقراری تماس به نرم افزار داده خواهد شد. برای این فعالیت بایستی خط کد ذیل در پوشه Manifest پروژه اضافه گردد:
 
1
 
یادگرفتن طریق رئیس، قرائت و تجزیه کردن پیام‌های USSD از Popup
یک خدمت دسترسی در دور‌نما انجام می شود و فراخوانی دوباره را در طول وقوع رویدادهای AccessibilityEvents بوسیله سیستم اخذ می‌نماید. اینگونه رویدادهایی بعضا از جابجایی شرایط‌ها در رابط کاربری را گزینش می‌نمایند. به عنوان مثال، زمانی که یک دکمه کلیک گردیده، یک برگه Popup گشوده گردیده و بقیه مورد ها از این دست چهره داده میباشد. به این ترتیب، شغل به‌این شکل اجرا میگردد که خدمت دسترسی یک اتفاق افتاد تحویل می دهد و از آن روی داد می‌قدرت یک پیام USSD را اخذ کرد. در‌پی، پروسه پیاده‌سازی مربوطه یادگرفتن داده گردیده‌است.
 
۱. ساخت و ساز یک کلاس به اسم XXXX:
 
1public class XXXX extends AccessibilityService {
2
3 public static String TAG = "XXXX";
4
5 @Override
6 public void onAccessibilityEvent(AccessibilityEvent event) {
7 Log.d(TAG, "onAccessibilityEvent");
8 String text = event.getText().toString();
9
10 if (event.getClassName().equals("android.app.AlertDialog")) {
11 performGlobalAction(GLOBAL_ACTION_BACK);
12 Log.d(TAG, text);
13 Intent intent = new Intent("com.times.ussd.action.REFRESH");
14 intent.putExtra("message", text);
15 // نوشتن یک دریافت کننده برادکست و فراخوانی تابع ارسال برادکست از اینجا، اگر قصد پارس کردن پیام برای بالانس وجود داشته باشد.
16
17 }
18
19 }
20
21 @Override
22 public void onInterrupt() {
23 }
24
25 @Override
26 protected void onServiceConnected() {
27 super.onServiceConnected();
28 Log.d(TAG, "onServiceConnected");
29 AccessibilityServiceInfo info = new AccessibilityServiceInfo();
30 info.flags = AccessibilityServiceInfo.DEFAULT;
31 info.packageNames = new String[]{"com.android.phone"};
32 info.eventTypes = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
33 info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
34 setServiceInfo(info);
35 }
36
37}
مشاهده بدون نقص کدها
۲. اضافه کردن یک ورودی برای خدمت فوق در Manifest:
 
1 2 android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
3
4
5
6 7 android:resource="@xml/config_service" /> // created below
8
 
۳. ساخت و ساز یک فایل به اسم «xml» در دایرکتوری «res» و آن گاه ساخت‌و‌ساز فایلی به اسم «config_service.xml» در فولدر xml و اضافه کردن کدهای پایین به آن فولدر:
 
1 2 android:accessibilityEventTypes="typeAllMask"
3 android:accessibilityFeedbackType="feedbackSpoken"
4 android:accessibilityFlags="flagDefault"
5 android:canRetrieveWindowContent="true"
6 android:description="This service records pop ups sent by your mobile operator, and saves them in XXXX App. It is absolutely safe to use." //declare this in string.xml
7 android:notificationTimeout="100"
8 android:packageNames="com.times.ussd"
9 android:settingsActivity="com.example.android.accessibility.ServiceSettingsActivity" />
10
11To run a accessibility service, user permissions are needed. The above xml is used to provide the necessary description to the user .
 
۴. حالا در پوشه «activity» کدهای تحت فراخوانی می شود:
 
1 startService(new Intent(this, XXXX.class));
2 dailNumber("*111*2");
 
۵. نرم افزار می بایست اعمال خواهد شد.
 
۶. بعد از اجرای نرم افزار، می بایست به پیکربندی سیستم استدلال اندروید رفته و در بخش «Accessibility Setting» آیتم با اسم نرم افزار بسط داده گردیده مراعات گردد که می بایست آن را فعال کرد.
 
۷. در مرحله پایان بایستی نرم افزار را Restart و آن‌گاه Logهایی را پژوهش کرد که در کلاس Service درج شده‌اند. در شکل مراعات Logهای USSD، عملیات با توفیق انجام یافته میباشد.
 
بدین ترتیب، فراگیری اپلیکیشن نویسی USSD‌ در اینجا به نقطه پايان میرسد. حالا در واپسین نصیب این نوشته‌علمی به معرفی عصر‌های آموزشی مربوط به نرم افزار نویسی USSD پرداخته شد‌ه‌است.
 
توده‌بندی
در‌این نوشته ی علمی ذکر شد که پروتکل USSD یا این که کدهای دستوری یک کدام از طریق‌های برقراری رابطه بر بستر کانال تلفن همراه میباشد که برای ارائه سرویس ها متعدد به وسیله بخش اعظمی از حصول و امور آیتم استعمال قرار می گیرد. برای پیاده‌سازی خدمت بر بستر USSD بایستی درپی یادگرفتن اپ نویسی USSD بود. اپلیکیشن نویسی USSD در معنای پیاده‌سازی کارکردها و قابلیت و امکان‌های ارائه گردیده از روش پروتکل USSD بر بستر کانال گوشی میباشد. آغاز می بایست یک کد USSD از اپراتور گوشی خریداری و اتصال با کانال اپراتور برقرار گردد و بعد از آن با اپ‌نویسی USSD می‌اقتدار سرویس ها مایحتاج را ارائه کرد.