Почему я не могу создать распознаватель контента - PullRequest
0 голосов
/ 05 января 2012

Буквально все, что я сделал, это создал новый проект. импорт android.app.Activity; import android.content.ContentResolver; импорт android.os.Bundle; открытый класс WebApp4Act расширяет Activity { / ** Вызывается при первом создании действия. * / публичный статический финал Uri BOOKMARKS_URI = Uri.parse ( "содержание: // браузер / закладки"); Context context = getBaseContext (); ContentResolver cr = getContentResolver ();

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
}
}

когда я запускаю проект, он говорит, что к сожалению webApp4c остановился

если я закомментирую строку ContentResolver cr = getContentResolver (); тогда нет проблем Я пытаюсь запустить это на AVD, установленном на версию 14

Ответы [ 2 ]

3 голосов
/ 05 января 2012
Context context = getBaseContext();
ContentResolver cr = getContentResolver();

нужно вызвать после onCreate метода или onCreate метода

1 голос
/ 05 января 2012

Этот ответ довольно прост.К сожалению, getContentResolver() и любые другие методы, требующие Context, не могут сделать это во время процесса создания приложения или инициализации.На некоторых версиях AVD это не было должным образом воспроизведено, поэтому оно работает на некоторых версиях AVD.Все, что вам нужно сделать, это переместить ваш код внутрь onCreate() (или любой другой функции, выполняющей ПОСЛЕ конструирования), и все будет в порядке.

Примечание: Есть способы передачиПользовательский Просмотр или Активация этой информации во время создания, но есть два предостережения:

  1. Вы не можете сделать это для первого Компонента, запущенного в вашем Приложении, без предоставления вам другого Приложения или Компонента приложения ...
  2. Это МОЖЕТ привести к небезопасному коду.

В большинстве случаев лучше всего работать в рамках жизненного цикла Android.Если вам нужна информация о жизненном цикле Android, вы можете получить ее из документации по Android или из Javadoc.

Дополнительное примечание (Правка): Вам на самом деле не нужен getBaseContext() там.Существует несколько видов Context, и ваш Activity считается одним.getBaseContext() лучше всего использовать, когда вам нужно передать или удержать Context вне жизненного цикла Android.

Надеюсь, это поможет, FuzzicalLogic

...