Ответ 1
Это немного поздно, но я нашел обходное решение. Я попробовал ActivityCompat.startActivityForResult(Activity, intent, int, Bundle);
и предупреждение исчезло!
Я начал таргетинг на android O в своем проекте. Я получаю сообщение об ошибке при вызове startActivityForResult(intent, int, Bundle)
с ошибкой, говорящей, что он может быть вызван только из идентификатора группы com.android.support.
Gradle:
compile 'com.android.support:design:26.0.0'
compile 'com.android.support:cardview-v7:26.0.0'
compile 'com.android.support:support-v13:26.0.0'
Это немного поздно, но я нашел обходное решение. Я попробовал ActivityCompat.startActivityForResult(Activity, intent, int, Bundle);
и предупреждение исчезло!
Редактировать:
По этой ссылке это ошибка. Чтобы обходной путь, Добавьте этот комментарий над строкой кода, который дает предупреждение:
//noinspection RestrictedApi
Старый Ans:
Надеюсь, вы не импортируете неправильную библиотеку. Библиотека поддержки фрагментов поддерживает фрагмент для устройств, работающих под управлением Android3.0.
Согласно этому сообщению в SO
Также не забудьте использовать Activity, если вы используете android.app.Fragment; используйте FragmentActivity, если вы используете android.support.v4.app.Fragment. Никогда не прикрепляйте файл android.support.v4.app.Fragment к android.app.Activity, так как это вызовет исключение.
android.app.Fragment
отличается от android.support.v4.app.Fragment
.
Библиотека поддержки - аннотированная @RestrictTo(LIBRARY_GROUP)
, а также @hide
- она не должна быть публичным API.
Используйте это в build.gridle
android {lintOptions {отключить 'RestrictedApi'}}
Предупреждение: использование этого может скрыть другие ошибки в вашем проекте. Он будет подавлять все ошибки этого типа.