2016-10-10 3 views
1

В настоящее время я использую следующий код, чтобы получить список уведомлений, поддерживаемых программным способом.Получение списка шаблонов вибросигналов, поддерживаемых программно

public static ArrayList<String> getVibratePatterns(Activity curActivity) { 
    RingtoneManager manager = new RingtoneManager(curActivity); 
    manager.setType(RingtoneManager.TYPE_NOTIFICATION); 
    Cursor cursor = manager.getCursor(); 

    ArrayList<String> list = new ArrayList<>(); 
    while (cursor.moveToNext()) { 
     // String id = cursor.getString(RingtoneManager.ID_COLUMN_INDEX); 
     // String uri = cursor.getString(RingtoneManager.URI_COLUMN_INDEX); 
     String name = cursor.getString((RingtoneManager.TITLE_COLUMN_INDEX)); 
     list.add(name); 
    } 

    return list; 
} 

Возможно ли аналогичным образом получить список поддерживаемых шаблонов колебаний для уведомлений (если имеется)?

EDIT: Этот набор значений, что я после:

enter image description here

ответ

1

Я не верю, что такая вещь существует (хотя я рад быть опровергнуто).

Этот список, который вы видите, может быть подключен к шаблонам, предварительно определенным разработчиком, который затем используется для подачи звонка setVibrate() в NotificationBuilder. Поскольку setVibrate() принимает long[] в качестве параметра для определения вибрационной картины, я думаю, что это довольно тривиально для достижения желаемого результата.

Дополнительную информацию можно найти в документации для NotificationBuilder#setVibrate и класса Vibrator.

+0

Даже если разработчик предопределил эти шаблоны, они должны быть доступны откуда-то вправо? Для доступа к ним должны быть доступны константы констант. Или можно было бы получить доступ к ним через отражение? – SoulRayder

+0

Даже если он доступен, это не будет стоить хлопот ИМХО. Вы можете просто определить эти шаблоны (которые, опять же, представляют собой набор 'long []' s) где-то внутри вашего приложения (файл, XML-ресурс, SharedPreferences и т. Д.). Не должно быть слишком сложно, не так ли? –

+0

Я согласен, что это не сложно. Я просто не хотел изобретать колесо: D – SoulRayder

 Смежные вопросы

  • Нет связанных вопросов^_^