2016-06-30 5 views
0

Ich arbeite gerade an einer Alarm-App, die einen zufälligen Alarmton spielt. Ich konnte einen Klingelton aus dem Klingelton-Dialog laden, aber ich denke daran, einen zufälligen Klingelton direkt aus dem Klingelton-Verzeichnis zu laden. Wie würde ich das erreichen?Android zufälliger Alarmton

Antwort

0

Sie können nach verfügbaren Klingeltöne im Gerät abfragen:

RingtoneManager ringtoneMgr = new RingtoneManager(this); 
ringtoneMgr.setType(RingtoneManager.TYPE_ALARM); 
Cursor alCursor = ringtoneMgr.getCursor(); 

Dieses alCursor die verfügbaren Klingelton URIs enthalten. Nun durchlaufen sie & einen URI-Array bauen:

Uri[] alarms = new Uri[alCursor.getCount()]; 
while(alCursor.moveToNext()) { 
    int pos = alCursor.getPosition(); 
    alarms[pos] = ringtoneMgr.getRingtoneUri(pos); 
} 
alCursor.close(); 

Nun erzeugt nur eine Zufallszahl im Bereich von 0-alCursor.getCount(), nehmen Sie diese Klingelton aus Alarmen Array & es spielen.

Random r = new Random(); 
int randNum = r.nextInt(alCursor.getCount()); 
Ringtone ringtone = RingtoneManager.getRingtone(this, alarms[randNum]); 
ringtone.play(); 

Dies kann ein einfacher Ansatz sein, um Ihr Ziel zu erreichen. Ich hoffe es hilft. Vielen Dank.

+0

Funktioniert wie ein Charme! Danke viel =) –

+0

Dann akzeptiere es bitte als Antwort. Vielen Dank :-) –