How to set a frequency for the fm radio in android?

6.5k Views Asked by At

In my android app I am using this intent to start fm radio

Intent i = new Intent(Intent.ACTION_MAIN);
PackageManager manager = getPackageManager();
i = manager.getLaunchIntentForPackage("com.sec.android.app.fm");
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);

Is it possible to set a manual frequency and open the fm radio? Thanks

2

There are 2 best solutions below

2
gilonm On BEST ANSWER

There is currently no native Android API for playing FM radio.

You need to use 3rd party apps to play FM radio, and each phone vendor / app vendor has it's own API.

You best option is to contact them directly and ask for the relevant API to suit your needs.

Hope this helped!

0
The Badak On

I've decompiled FM Radio app, and I saw this code:

    void sendFMStatusBroadcast(float p1, String p2) {
        Intent localIntent1 = new Intent("com.android.fm.player_lock.status.channel");
        if(FMRadioProperties.getRegion() == 0x65) {
            localString2 = String.format("%.2f", Float.valueOf(p1));
            localIntent3.putExtra("freq", "%.2f");
        } else {
            localIntent1.putExtra("freq", p1 + "");
        }
        localIntent1.putExtra("name", p2);
        sendBroadcast(localIntent1);
    }

You should also decompile FM Radio app and search for intent in the Main Activity, and work with that code to get through your problem.