Получить название всех задач в Tasker программно

Я пытаюсь разработать список действий (изначально), который заполняется задачами, созданными в Tasker. Можно ли как-нибудь получить имена задач от Tasker? Единственный способ, которым я могу общаться с Tasker программно, это использовать класс TaskerIntent. Но нет функции, которая может получить имена.

То, что я хочу сделать, это получить список задач, а затем выполнить эти задачи с ПК. Для того, чтобы запустить задачу, мне нужно либо передать имя задачи в Tasker, либо отправить задание.

Спасибо!

1 ответ

Решение

В Документах Tasker есть пример того, как это сделать.

Пользователь должен включить "ext_access"/ внешний доступ, чтобы это работало, поэтому не забудьте сообщить пользователю, если ваше чтение не удалось.
Я не уверен, что если вы получите исключение или пустой набор результатов, вам нужно проверить это самостоятельно, чтобы обработать оба случая:

  1. Пользователь не включил внешний доступ
  2. Пользователь не создал ни одной задачи.

Вот код для регистрации всех задач, заключенных в метод для вашего удобства:

public void logAllTaskerTasks() {
    Cursor c = getContentResolver().query(
                     Uri.parse( "content://net.dinglisch.android.tasker/tasks" ),
                     null, null, null, null );

    if ( c != null ) {
        int nameCol = c.getColumnIndex( "name" );
        int projNameCol = c.getColumnIndex( "project_name" );

        while ( c.moveToNext() ) {
            Log.d( TAG,  c.getString( projNameCol ) + "/" + c.getString( nameCol ) );
        }
        c.close();
    }
}
Другие вопросы по тегам