Разрешение активности NoteList приложения Android Notepad - PullRequest
1 голос
/ 06 октября 2011

Может ли кто-нибудь объяснить, когда будет создаваться действие NoteList с намеренными действиями ACTION_VIEW, ACTION_EDIT, ACTION_GET_CONTENT.

Я попытался закомментировать код для конкретных намерений ниже из активности NoteList, и приложение работало просто отлично

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <action android:name="android.intent.action.EDIT" />
    <action android:name="android.intent.action.PICK" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
</intent-filter>

Также внутри действия NoteList я не нашел никакой обработки для нижеуказанных намеренных действий. Так зачем вообще их определять ??

Скажите, что некоторые startActivityFoorResult () вызывают это намерение, как это намерение будет разрешено даже в NoteList, если у него нет обработчика внутри действия NoteList. Также кто может и называет в своем примере намеренные действия?

Ссылки для примера Android NotePad ниже.

http://developer.android.com/guide/topics/intents/intents-filters.html

http://developer.android.com/resources/samples/NotePad/index.html

Заранее спасибо

1 Ответ

1 голос
/ 06 октября 2011

Если вы заметите последнюю строку внутри фильтра намерений, вы увидите, что он указывает тип пантомимы.Это связывает приложение с этим типом пантомимы.Это означает, что когда вы открываете файл / URL с таким типом mime, он попытается открыть его с помощью этого приложения.Тот факт, что вы удалили фильтр намерений, не обязательно означает, что приложение перестанет работать, оно просто больше не будет обрабатывать этот тип пантомимы.

Внутри NotesList.java вы увидите несколькоссылки на Intent.ACTION_EDIT, Intent.ACTION_PICK и т. д., которые являются константами для "android.intent.action.EDIT" и т. д.

Обновление:

Если вы посмотрите на манифест file вы увидите, что min версия SDK установлена ​​на 11. Это, очевидно, файл манифеста HoneyComb.Я взглянул на код, и не похоже, что код, связанный непосредственно на сайте, использует фрагменты, но я сильно подозреваю, что манифест был для версии, которая использует фрагменты.Я точно знаю, что есть версия с фрагментами, так как я играл с ней в какой-то момент.Google использовал его для своих последних Android Developer Labs.Это будет соответствовать фильтру намерений, который вы видели, так как он позволит редактировать / просматривать / выбирать заметки из списка, что откроет фрагмент для просмотра / редактирования / и т.д.Короче говоря, я думаю, что код и манифест, вероятно, немного не синхронизированы.

...