[APP][2.3+] SDR Touch - Live radio on your Android device


Aug 6, 2013
Hey guys, I'm sorry I haven't been monitoring this topic for a while. Some updates from me on the following issues:

Cannot change frequency as the screen does not respond to touch

This was a bug with Huawei devices. It has been fixed in the latest release. Please make sure you update SDR Touch .

Long story short, the technical reason is that MotionEvent getSize returns values that are out of spec. According to the documentation this function must return a value between 0 and 1 representing the ratio of the approximate area of the screen covered by the finger during touch. However on Huawei this function always returned a constant large value which made the UI being confused and it locked itself. This issue is now fixed.

App crashes with "Disconnected unexpectedly" error message after running for a while

It turns out some manufacturers such as Huawei and Samsung have very aggressive power saving policies and force close background apps without notice. If the system decides to kill the RTL-SDR (or SdrPlay) driver while SDR Touch is running, the app will stop playing and become unresponsive eventually showing a "Disconnected unexpectedly" error message.

If you are experiencing this issue, the only solution that currently exists is to manually whitelist *both* the SDR driver app and SDR Touch in your phone's power saving settings to prevent the operating system from unexpectedly stopping the apps. More information and instructions on how to do this based on your particular phone make and model can be found on this website: dontkillmyapp.com.
Hi I'm having some issues using SDRTouch with MSI.SDR panadaptor (https://www.rtl-sdr.com/tag/msi-sdr/, which is a clone of SDRPlay and uses the same driver). It works fine on Samsung Galaxy s6 (Android 7) but on Galaxy S7 (Android 8) and Galaxy s10e (Android 10), after letting SDRTouch run for a while, usually about 1 minute, the FM starts sounding broken. The audio is still there but it sounds broken, as if the CPU is not fast enough to play it. If I still let it run for about 5 minutes, eventually it crashes with a "Disconnected Unexpectedly" message. Battery optimization is turned off and I have explicitly kept the SDRPlay driver and SDRTouch in the "Do not sleep" menu. Is there any work around for this?

I am also beginning to suspect that the SDRPlay driver (https://play.google.com/store/apps/details?id=com.sdrplay.driver&hl=en) itself has some issues on higher versions of Android, at least on Samsung devices. In a different android project I am working on, the SDRPlay driver either crashes unexpectedly or has issues while decoding the IQ signals from the SDR. The android project works perfectly on Samsung Galaxy S6 (Android 7). I have spent hours trying to debug my code but I am beginning to think it is the driver itself. Do you have any comments on this?

I am also trying to use the Android NDK library for SDRPlay (API/HW – V2.11 (15TH NOV 2017) from the SDR Play download page (https://www.sdrplay.com/downloads/, https://www.sdrplay.com/anddl.php). It is a file libmir_sdr_api.a and mir_sdr.h header file, but I'm not having any luck. If I use this library I can only compile my project as armeabi-v7a, which is only good for 32 bit android systems, and apparently since August 1st 2019 projects that don't support Android 64-bit cannot be uploaded to Google playstore. If this is true I don;t know whether it's worth further studying about this library as there is no documentation on how to use it. Currently I can include the library in my project and compile as armeabi-v7a, but the API functions that are supposed to communicate with the SDR device don't work (for example, the function that's supposed to tell us how many devices are connected to the USB port always returns 0, even though device is connected). Do you have any experience with using the NDK library directly, or any ideas on what I can do to proceed with this?