Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm not very satisfied with phonebook's ringtone assignment: they disappear sporadically and sometimes fail to play (default ringtone is played instead).

Ideally I want an application that do this:

  1. Replaces usual phone ringtone player and listens for events.
  2. When there is incoming phone call, it starts my script (in Python, for example) that takes phone number, phonebook name, current time, etc as input and provides ringtone name and volume as output, like this:

    def incoming_call_ringtone(number, name, etc):
        if not number.startswith("+375"): return ("ringtone_foreign.ogg", 100)
        if name == "Mother": return ("ringtone_mother.ogg", 70)
        if name == None: return ("ringtone_unknown.ogg", 70)
        if name.startswith("work_"): return ("ringtone_work.ogg", 100)
        return ("ringtone_default.ogg", 70)
  3. Rings the specified ringtone.

What application should I use? It's OK if it uses other language (or some other approach), but it should have that flexibility.

share|improve this question

closed as off topic by Izzy, Zuul, roxan, Richard Borcsik, GAThrawn Sep 25 '12 at 2:02

Questions on Android Enthusiasts Stack Exchange are expected to relate to Android within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

You don't need a custom app. I can assign specific ringtones to contact groups as well as individuals with the stock contact/phone app. – Al E. Aug 24 '12 at 20:04

Browse other questions tagged or ask your own question.