Сам ответа никак не могу найти. Вроде все перепробовал. Прошу учесть, что задача чисто учебная. Я понимаю, что могу легко добиться результата с помощью Extras. Но ведь и так как я хочу тоже должно работать. Помогите, плиз, разобраться.
Задача очень простая. Вызываю из одной активности другую и передаю второй данные. Использую неявное намерение.
Код: Выделить всё
intent = new Intent("ru.asko.SECOND");
intent.setData(Uri.parse("asko://данные из uri"));
startActivity(Intent.createChooser(intent, "Не попал!"));
<activity android:name=".MainActivity" android:label="Передача данных">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity" android:label="Переданные данные">
<intent-filter>
<action android:name="ru.asko.SECOND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
В результате Андроид не может вызвать вторую активность. Не находит ее по манифесту.
Причем если добавляю скажем еще условие по схеме данных <data android:scheme="asko" /> - все работает.
Первый вопрос. Везде где я читал об этом говорится, что если в манифесте для активности на данные нет фильтра, тогда активность подходит (если конечно подходит Action и категория - Default). У меня почему-то это правило не работает
Второй вопрос. Я пытался дополнительно настроить фильтр по mime-типам. Вообще ничего не вышло Результат тот же -активность не находится.
Добавлял такую строчку в intent-filter
Код: Выделить всё
<data android:mimeType="text/*" />
Где я косячу?