What is USSD.?
USSD is a communication technology that is used to send text between a mobile phone and an application program(network operator) in the network.
What are USSD codes.?
USSD codes are used by network users to get usage infromation from the current operator. USSD codes start with *, preceeding with numbers and end up with #. Ex : *123#
Different network operators have different USSD codes. Ex :
*123# is used to get usage information for Airtel
*111# is used to get usage information for Vadafone
How do we get this USSD information in android application.?
The below code will display a USSD popup, showing the balance information for the current sim
// Get vadafone balance(*111*2for vadafone)
private void dailNumber(String code) {
String ussdCode = "*" + code + Uri.encode("#");
startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode)));
}
Add the following permission (to make a call) in the manifest
<uses-permission android:name="android.permission.CALL_PHONE" />
How to handle/read/parse USSD messages from popup.?
An accessibility service runs in the background and receives callbacks by the system when AccessibilityEvents are fired. Such events denote some state transition in the user interface, for example, the focus has changed, a button has been clicked, a popup dialog etc.
So the trick is, this service will deliver us an event, from which we can get the USSD message.
Steps to implement
1. Write a class named "XXXX"
public class XXXX extends AccessibilityService {
public static String TAG = "XXXX";
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
Log.d(TAG, "onAccessibilityEvent");
String text = event.getText().toString();
if (event.getClassName().equals("android.app.AlertDialog")) {
performGlobalAction(GLOBAL_ACTION_BACK);
Log.d(TAG, text);
Intent intent = new Intent("com.times.ussd.action.REFRESH");
intent.putExtra("message", text);
// write a broad cast receiver and call sendbroadcast() from here, if you want to parse the message for balance, date
}
}
@Override
public void onInterrupt() {
}
@Override
protected void onServiceConnected() {
super.onServiceConnected();
Log.d(TAG, "onServiceConnected");
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.flags = AccessibilityServiceInfo.DEFAULT;
info.packageNames = new String[]{"com.android.phone"};
info.eventTypes = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
setServiceInfo(info);
}
}
2. Add an entry for the above service in the manifest
<service android:name=".XXXX"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data android:name="android.accessibilityservice"
android:resource="@xml/config_service" /> // created below
</service>
3. Create a folder 'xml' under res, and then create file named "config_service.xml" in xml folder.
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackSpoken"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
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
android:notificationTimeout="100"
android:packageNames="com.times.ussd"
android:settingsActivity="com.example.android.accessibility.ServiceSettingsActivity" />
To run a accessibility service, user permissions are needed. The above xml is used to provide the necessary description to the user .
4. Now in your activity, invoke this
startService(new Intent(this, XXXX.class));
dailNumber("*111*2");
5. Launch your application.
6. After the launch, change the settings manually
Setting->Accessibility Setting -> You can see a option 'your app name'. Turn it on. (This has to be done from as a part of application flow(not manual))
7. Restart your application, and check the logs, that I wrote in Service class
Happy to see the USSD logs.. CHEERS :)
Feel free to ask if you face any difficulties with the above explanation..
Please give your feedback on this post as a like, comment, share..
awesome example thanx..
ReplyDeletehi ji .. you have full code .. how to display ussd messsage in textview .. share my mail id tamiladz@gmail.com
Deleteif you get full code of same senario please share me on dayib12@gmail.com
Deleteplease share sitaram.gupta99@gmail.com
Deleteplease share naphtalint@yahoo.fr
Deleteplease share basepa_tonny@yahoo.fr
DeletePlease mail me the complete code at prkharsingh.2918@gmail.com
DeleteHi I need the complete codes, email me, pogimista@gmail.com, thanks very much
Deletehi very nice work .thanks .. you have full code .. how to display ussd messsage in textview .. share my mail id gideonkeremeh47@yahoo.com
DeleteIt is not showing USSD response in the app :(
ReplyDeleteIt works.. Plz check if u followed all the above steps and let me know if you are getting the following logs on app execution..
DeleteLog.d(TAG, "onServiceConnected");
Log.d(TAG, "onAccessibilityEvent");
No I am not getting these logs on app execution. What should I do?
Deleteme too.. im not getting any logs
DeleteI can't run the codes, the error said Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:xxxxx cmp=com.android.server.telecom/.components.UserCallActivity } from ProcessRecord{66bd9c0 31432/u0a138} (pid=31432, uid=10138) with revoked permission android.permission.CALL_PHONE help me please
DeleteAwesome! But is it possible to avoid the service from closing ussd dialogs when using the phone's dialer app?
ReplyDeleteThank you Robert! To find a solution for your problem, I would like to know how are you closing the USSD dialogs. You can write me at umesh.isran405@gmail.com
Deletehi robert and umesh, i want to know how to close ussd dialogs directly from the apps?
DeleteI followed what's written in this blog and success capturing the ussd message inside the log, but the problem is the ussd dialog doesnt automatically close ,
DeleteHello umesh and robery, i also want to know how to close ussd dialog programmatically please let me know.
Deletedear Robert and Umesh how to show the ussd dialogs plz send me sitaram.gupta99@gmail.com its urgent please help me
Deletedear Robert and Umes. could u send me the code, I have some error I need the source code, would u send me the source code hildapamungkas71@gmail.com
DeleteUmesh, great post!
ReplyDeleteWe were having trouble handling USSD response. We are trying to write an android wrapper over an USSD application which collects multiple level of response from user. Can we have a brief discussion around that please?
Sure Pankaj, First let me understand, what do you mean by 'multiple level of response from user'. Write me your trouble clearly and mail me at umesh.isran405@gmail.com
Deletecan you add me in same loop?
DeletePlease add me in this loop Umesh
Deletehello Umesh, please let me see the complete code which dissmiss the ussd dialog automatically,
Deletemy email: wanedenis3@gmail.com
Please add me in this loop Umesh
DeleteHi,
ReplyDeleteOn some devices the class is USSDAlertActivtiy (https://github.com/anomalchik/alps_packages_services_Telephony/blob/master/src/com/mediatek/phone/UssdAlertActivity.java) instead of AlertDialog. And in such cases gettext() returns only activity title no ussd response.
Link for reference. Can you please give me some suggestion on this?
Thanks,
Ishaan
Hey Ishaan, Even I have come across this issue. Will get back on this..
DeleteOkay that makes two of us, thanks. By the way why is the permission read logs required?
DeleteGood point. Its not necessary. Plz check the updated blog.
Delete(https://github.com/anomalchik/alps_packages_services_Telephony/blob/master/src/com/mediatek/phone/UssdAlertActivity.java
DeletePlz can you help me with how to use this in my project
Hi sir,
ReplyDeletei tried on 4.4.2 but not working, i don't even see log at onServiceConnected.
Do you have full code?
Thanks
The above code does not work on all the devices. Test it on some other device and let me know..
DeleteHey Umesh ... Nice finding ... Its possible to change the accssebility programatically? Urgent !!
DeleteHi sir,
ReplyDeleteCan i set my service ON when installing my application, not manually !? and thank you.
Hey Umesh, thanks for the great example.
ReplyDeleteMy main problem now is that, since this code does not work on every device, is there a particular aspect of it that makes it not to work on the other devices. In this way one can decide to use nested try catch blocks to be able to test various possibilities for the problem, so as to ensure that at least one possiblity will work for the various devices.
I can't even see my app on accessibility, I'm not sure what is wrong. Any help?
ReplyDeleteI´ve got the same problem in Nexus4 android 5.1.1, please help?
DeleteAny luck with this? Even I am not able to see my app on accessiblity.
DeleteThis comment has been removed by the author.
ReplyDeleteLovely demo. You are awesome man
ReplyDeleteHow to dismiss the ussd dialog after reading the response. performglobalaction() is not working in android L. Please help.
ReplyDeletecan you solved your problem? then kindly send me the link
Deletehow to get USSD response in a string that not issue but the my problem is how to get updated response of ussd from log...my aim can i clear the log file after getting ussd response to get next time fresh data.
ReplyDeleteI have problem geting text of ussd alertdialog .. i am getting 'PHONE' using event.getText();
ReplyDeleteSo plz help me how to get ussd alertdialog text in my own app.
DeleteHi Umesh,
ReplyDeleteI need a help regarding sending back a response to the ussd result.
Like when i get menu as a response for Ussd *111#
1. xxx
2. xxxx
3. xxxxx
Need to send 2 programmatically in the same session.
Thanks In Advance
Try *111*2 in function dialNumber() for sending 2 programmatically.
Deletehi, how i can parse ussd message, wants to extract balance and validity from ussd text string.
ReplyDeletehi , in case of dual sim phone, how i can detect that the response id for which sim? in reverse can i get the outgoing ussd code calling sim? (sim1 or sim 2)?
DeleteHello, do you have a full complete source code? I'm following your guidance but I still raise a dialog box. I'm using android api version 16. Any other info would be great. Thank you.
ReplyDeleteDear Sir,
ReplyDeleteI need a help regarding sending back a response to the ussd result.I am dineshvasan Ussd response value showing null value. please kindly send me sample project to my mail id dineshvasanmca@gmail.com
Hello,
ReplyDeleteI'm using an AT&T devoce (SM-P907A) and i tried your code but i\m getting an error (no empty constructor
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2709) )
My device doesn't like making phone calls or SMS normally but i obtained an example from the "Expert Android" book and managed to send text messages. Will test receiving messages later...
Hi Umesh - can this be used to completely alter the default UI for ALL USSD messages on a particular device ? Also, can it work on latest Andorid Editions ?
ReplyDeleteHey can you please tell me how to parse the data and save it into a string. This tutorial worked fine for me.
ReplyDeletePlease need full USSD project to get a menu and respond accordingly after get the final reply. Like: *123# after we get choice 1, 2 3 ... we chose 1 and we can parse the final answer from USSD message . Thanks a lot. My email is l.ouadjaout@gmail.com . Thanks in advance
ReplyDeleteHi Sir...I want to show USSD popup in textView.How it is Possible?
ReplyDeleteThanks in Advance.
where should i write the dailNumber method in the same class XXXX??. Please respond urgent
ReplyDeletecan you provide download link for project , thanks for sharing great work
ReplyDeleteit is not working properly
ReplyDeleteHi Umesh,how to display USSD messsage in textview
ReplyDelete"Setting->Accessibility Setting -> You can see a option 'your app name'. Turn it on. (This has to be done from as a part of application flow(not manual))"
ReplyDeleteI don't my app name in there.
I don't see my app name in accessibility setting
DeleteI am having the Same problem
DeleteSame problem here!
DeleteThis comment has been removed by the author.
ReplyDeletehow to close ussd result dialog?
ReplyDeleteHi Umesh
ReplyDeletehow to display USSD messsage in textview??
Can you provide the link for the project ?
Thanks in advance
email id : iitmadras1986@gmail.com
DeleteCould you please put here some link to this project? I have an error message with revoked permission android.permission.CALL_PHONE" and trying to solve it. Or could you please send this project on my email(pezelazo@gmail.com)?
ReplyDeletecan you send full details
ReplyDeletewhat about getting the response when using GSM Modem? please help
ReplyDeleteplease share : abdo.allah.webdevlpr@gmail.com
ReplyDeleteThanks a lot! You made a new blog entry to answer my question; I really appreciate your time and effort.Android Training in velachery | Android Training in chennai | Android Training in chennai with placement
ReplyDeleteplease share : djidiop89@gmail.com
ReplyDeleteHello Umesh , please share (evaristusmaduhu@gmail.com). How did you guys hide the dialog ??? Thanks
ReplyDeleteHi, thanks for the flow. Can I get the full code to this mail id. swethamr@junotele.com
ReplyDeletePlease mail me the complete code at beconfidentghaek@gmail.com
ReplyDeleteHello everybody, is it possible to get ussd response in textview?
ReplyDeleteIf it's possible, please mail me the code or issues at rapide755@gmail.com
i have tested this code and working like a charm. thanks for this. Can i send ussd option like 1 or 2 through code and capture dialog of ussd.
ReplyDeleteThis service records pop ups sent by your mobile operator, and saves them in XXXX App. It is absolutely safe to use. where in String.xml?
ReplyDeletehow I can do it
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
ReplyDeletenot done
Replace this words 'This service records pop ups sent by your mobile operator, and saves them in XXXX App. It is absolutely safe to use.' with @string/description
DeleteNow, in your strings.xml under values folder(under res folder) add this line:
This service records pop ups sent by your mobile operator, and saves them in XXXX App. It is absolutely safe to use.
Done!!!
not done
Deleteplease help me
Error:(8, 26) No resource found that matches the given name (at 'description' with value '@String/description').
DeleteThis comment has been removed by the author.
DeleteIn app > res > xml > config_service.xml add line android:description="@string/desc"
DeleteIn app > res > values > stings.xml add line < string name="desc" > This service records pop ups sent by your mobile operator, and saves them in XXXX App. It is absolutely safe to use. < /string >
Unistall application, install again, run once, close, go to Setting > (Advanced Setting) > Accessibility Setting > Your Application
Awesome! Works like a charm.
ReplyDeleteYou cann my the code ?
DeleteI can read the data but the can not block the ussd dialog. The dialog appears on the screen. I want to block/dismiss the dialog but i can not. I used ACTION_CLOSE_SYSTEM_DIALOG. But it is not working. Any suggestions??
ReplyDeleteThanks in advance
si pudiste resolverte te animas a compartirlo?
DeleteI can't see the name of My App in Accessibility, Pls Help
ReplyDeleteIs there a Way to Respond to USSD that returns Menus?
ReplyDeletehi thanks a lot.. you have full code .. how to display ussd messsage in textview .. share my mail id gideonkyeremeh47@yahoo.com
ReplyDeletepls send me the working code on (damana.dasta@gmail.com)
ReplyDeletewith regards
Hello, please send me the source code ( nfaical3@gmail.com )
ReplyDeleteCan anyone pls tell me how to hide the alert dialog when getting the response
ReplyDeleteif its pls send me the source code to vnktmech792@gmail.com
Thanks in advance pls do the needfulll
Hello, please send me the source code ( caibinglong1987@gmail.com )
ReplyDeleteThis post is absolutely fantastic. Thanks for sharing a lots of great information and inspiration, both of which we all need. Thank you so much!!
ReplyDeleteandroid app development perth | wordpress development sydney
Very nice!
ReplyDeleteIt's work
Thanks
Thanks to share the classic blog to understand the parse application Development quality. Thanks for sharing the this blog. it is help full for us.
ReplyDeletehi!
ReplyDeleteThanks for your tuto!
So how can disable my service onDestroy()? Because, if my service turn on, i cann't ussd by native phone dial
Is there a Way to Respond to USSD that returns Menus?
ReplyDeleteIntent intent = new Intent("com.times.ussd.action.REFRESH");
ReplyDeleteplease I have a problem with this line of code. where is this com.times.ussd.action.REFRESH commig from or going to
As far as I know, we are not using this action in our manifest to perform anything.
I will like for you to explain that part very well, thanks
would u please send me the source code through my email:somiman73@gmail.com
ReplyDeletewould u please send me the source code through my email:ssapptech90@gmail.com
ReplyDeleteCan you please send me source code on labovic.nikola@gmail.com
ReplyDeleteThanksss
Dear Sir,
ReplyDeleteCan i get project source code : naylin.sc@gmail.com
A copy of source would be awesome!!
ReplyDeletePlease send: ephraimm@gmail.com
I want the whole source code natnael.awel@gmail.com. please
ReplyDeletePlease share the project in my mail jkaguo@gmail.com
ReplyDeleteAn ingenious code. Thanks for sharing. Works with USSD Menu, no need to restart the phone.
ReplyDeleteGreetings from Poland.
is not working for me please help me share the source code thank you bro
DeletemchamoudaDev@gmail.com
a copy of source code to qteckk@gmail.com would be awesome
ReplyDeletePlease send me a copy of source code to ramymokako@live.com
ReplyDeleteThe Best Mobile Game Developers in India is Colour Moon Technologies, it has the Experience in developing various types of Apps like Pubg Tournaments, Rummy Games etc.
ReplyDeleteColour Moon Technologies offers you with high value of App Development services at competent range. We will develop Platform for conducting pubg game tournaments Mobile apps & website as well. We all know how PUBG is in spotlight these days. It captivated many players within very less period of time. And now, you can incarnate with this PUBG Tournament App to sub- limely generate good income from this most trending game in this Hi-tech era.
https://bit.ly/2EMJ0sQ
best
ReplyDeleteThanks for sharing such informative and useful tutorial guidelines regarding parse Android app development.
ReplyDeletecan you please share this code on qamarkhan2166@gmail.com
ReplyDeletethank you so much in advance .
i want to display ussd respone in textview .
Am in 2019 and it works.
ReplyDeleteShow a snip of your Service.java file and also your main activity calling the dialNumber() method.
ReplyDeleteThe website loading speed is amazing. It kind of feels that you're doing any distinctive trick. Moreover, The contents are masterpiece. you have done a fantastic activity on this subject! https://ussdcodes.in
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteIts working, great job!
ReplyDeleteBut, is there a way to select an item from the menu list and achieve an other request programmatically?
This comment has been removed by the author.
ReplyDeleteThanks, it works but what is the use of com.times.ussd.action.REFRESH ?
ReplyDeleteNice Blog With Full of Knowledge
ReplyDeleteThanks For Sharing.....
Imam Hussain
Imam Hussain In USA
Ashura In USA
Ashura
Arbaeen
Arbaeen In USA
Best Teen Patti Game In India
Tragedy In karbala
Tragedy In karbala In USA
Stand With Dignity
Karbala In USA
Karbala
Who is hussain Standwithdignity
after executing above code the dialog box is continuously blinking on mobile screen how can i dismiss ..... i am very thankfull to you if you can send the complete code (abubakarhussain2013@gmail.com) .. thanks
ReplyDeleteNice Blog With Full of Knowledge
ReplyDeleteThanks For Sharing.....
Mastitis
Dipmiddel koeien
Pesticide
Mastitis In Belgium
Mastitis In Netherlands
Dipmiddel Koeien In Belgium
Dipmiddel Koeien In Netherlands
Pesticide In Belgium
Pesticide In Netherlands
Online Mastitis In Belgium
Online Mastitis In Netherlands
Online Dipmiddel Koeien
Online Mastitis
Online Pesticide In Belgium
Online Pesticide In Netherlands
Online Pesticides
Dipmiddel koeien
Hi what a very informative tutorial could you please send me the Source code thanks
ReplyDeleteOanguome@gmail.com
Hi Thank, it work for me ! Thank
ReplyDeleteLeague Of Legends 10.1 Yama Notları
ReplyDeleteE Spor
League Of Legends
lol oynanış videoları
Karakter Tanıtımı
League Of Legends Counterlar
lol Counterlar
vayne ct
lucian ct
sylas ct
aphelios ct
Nice Blog Post!
ReplyDeleteToday every users love to play games on their mobile. Every day we get the encounter with a new game, in the category of fantasy, adventure, or treasure hunt. There is the pool of game to choose from the existing one and the new concept of games are developing every day by the professionals in the field of game development. If you have any idea related to the gaming industry discuss with our leading game developers India to run your project successfully.
Look at the way my colleague Wesley Virgin's report launches with this SHOCKING AND CONTROVERSIAL video.
ReplyDeleteAs a matter of fact, Wesley was in the military-and soon after leaving-he unveiled hidden, "SELF MIND CONTROL" secrets that the government and others used to get everything they want.
As it turns out, these are the EXACT same tactics tons of celebrities (especially those who "became famous out of nowhere") and the greatest business people used to become rich and successful.
You've heard that you use less than 10% of your brain.
Really, that's because the majority of your brain's power is UNCONSCIOUS.
Maybe that expression has even occurred IN YOUR own head... as it did in my good friend Wesley Virgin's head around seven years back, while driving a non-registered, trash bucket of a car without a license and $3 on his bank card.
"I'm so frustrated with going through life paycheck to paycheck! Why can't I turn myself successful?"
You took part in those conversations, isn't it right?
Your success story is going to start. All you have to do is in YOURSELF.
CLICK HERE To Find Out How To Become A MILLIONAIRE
Nice Information shared about Android Development Practice. Very helpful article for app developers to learn more and more things from here. Thanks for sharing, Keep posting...! Sales CRM Software
ReplyDeleteHi can you please share the full source code rkgupta.mrt@gmail.com
ReplyDeleteHi
ReplyDeleteIs it possible to add a code which can help parse out specific information from the ussd response already in the app's log by matching it with parser (File name already in the app's cache)
Hi,
ReplyDeleteI would like to know if anyone could make this code work. I would like to integrate it into my app to process the ussd code in the background.
Thank's
Thank you it's working
ReplyDeletenice
ReplyDeleteCourier booking is an online medium for shipping couriers across the globe. If you intend to deliver goods internationally, make sure that you choose the most reliable courier services shipping your goods on time. Our company focuses on meeting up your requirements efficiently.
ReplyDeleteHızlı takipçi almak için takipçi satın al
ReplyDeleteOrganik takipçi almak için takipçi satın al
Bilgisayardan takipçi almak için takipçi satın al
Mobil cihazdan takipçi almak için takipçi satın al
Gerçek ve orijinal takipçi almak için takipçi satın al
Yazarkasa ile takipçi almak için takipçi satın al
Bitcoin takipçi almak için takipçi satın al
Pos ile takipçi almak için takipçi satın al
EFT ile takipçi almak için takipçi satın al
Havale ile takipçi almak için takipçi satın al
Mobil ödeme ile takipçi almak için takipçi satın al
Tamamı orijinal takipçi almak için takipçi satın al
Organik ile takipçi almak için takipçi satın al
Türkiye takipçi almak için takipçi satın al
Global takipçi almak için takipçi satın al
En hızlı instagram takipçi satın al
En uygun instagram takipçi satın al
En telafili instagram takipçi satın al
En gerçek spotify takipçi satın al
En ucuz instagram takipçi satın al
En otomatik instagram takipçi satın al
En sistematik tiktok takipçi satın al
En otantik instagram takipçi satın al
En opsiyonel instagram takipçi satın al
En güçlü instagram takipçi satın al
En kuvvetli instagram takipçi satın al
En seri instagram takipçi satın al
En akıcı instagram takipçi satın al
En akıcı instagram takipçi satın al
En akıcı instagram takipçi satın al
En akıcı instagram takip etmeyenler
buy bubba-kush online
ReplyDeletebuy-og-kush-online
buy lysergic-acid-diethylamide-lsd online
buy-goldern-teacher-mushrooms-online
cannabis-seeds for sale
buy shatter online
dab-rigs-and-bongs-2 for sale
buy vapes-carts price online
buy marijuana-flowers online
buy green-crack online
buy white-widow online
buy weed online
buy psychedelics online
buy lysergic-acid-diethylamide-lsd online
buy-goldern-teacher-mushrooms-online
buy marijuana-edibles online
ReplyDeletebuy cbd-oils online
buy vapes-and-carts online
buy accessories online
buy auto-flowering-seeds online
buy granddaddy-purple online
buy psychedelics online
buy cannabis-concentrates-online
buy og-kush online
buy dmt-nn-dimethyltryptamine online
buy blue-cheese-weed online
buy purple-haze online
buy strawberry-cough online
buy black-diamond-kush online
buy blue-dream online
buy moon-rock online
buy blue-dream-feminized online
profile.php?id=100069707270977 online
buy marijuana-flowers/sativa/ online
buy marijuana-flowers/indica-strains/ online
buy marijuana-flowers/hybrid/ online
buy vapes-and-carts/dank-vapes/ online
buy sun-rocks online
Great post, if you are looking mobile app development company for your business application, then visit ThinkStart Private Limited.
ReplyDeleteThanks!
Nice blog. Thanks for sharing!
ReplyDeleteThank you so much for such a detailed Articles.
ReplyDeleteFrontend Development
WordPress Development
Frontend Development
WordPress Development
ReplyDeletexpon ont router
GPON ONU dealer in noida
DUAL BAND WIFI ONU provider in noida
xpon onu with voice
xpon ont dealer in noida
I went through your blog its really interesting and holds an informative content.
ReplyDeleteideaholictax business solutions
jantaworldtourism car rental service
kg4orcesecurity services
website24x7it
yeni perde modelleri
ReplyDeletesms onay
Mobil odeme bozdurma
nft nasıl alınır
Ankara evden eve nakliyat
trafik sigortasi
dedektor
web sitesi kurma
aşk kitapları
smm panel
ReplyDeleteSMM PANEL
iş ilanları
İnstagram Takipçi Satın Al
Https://www.hirdavatciburada.com
beyazesyateknikservisi.com.tr
servis
tiktok jeton hilesi
kartal daikin klima servisi
ReplyDeletebeykoz toshiba klima servisi
üsküdar toshiba klima servisi
pendik alarko carrier klima servisi
maltepe toshiba klima servisi
kadıköy toshiba klima servisi
maltepe beko klima servisi
kadıköy beko klima servisi
kartal lg klima servisi
yurtdışı kargo
ReplyDeletenft nasıl alınır
uc satın al
en son çıkan perde modelleri
minecraft premium
lisans satın al
en son çıkan perde modelleri
özel ambulans
Hey Admin , This is very informative Article . Thank you from skip hire near me for this great informative and knowledgeful post. I want more learn like this post. Thank you again...
ReplyDeleteUse Female Up Tablet to Treat Sensual Issues in Women
ReplyDeleteVery Nice Information !!!
ReplyDeleteFemale Up Tablet
Helpful information about app development company & services! Nice blog.
ReplyDeleteapp development company perth
Please send me a copy of source code to test549355@gmail.com I would really appreciated
ReplyDelete