Может кто-нибудь помочь мне объяснить это? или выяснить способ использования webview в виджетах приложения. большое спасибо.Почему мы не можем использовать веб-просмотр для удаленного просмотра в виджетах приложений?
ответ
от Google App виджет руководство:
RemoteViews объекта (и, следовательно, приложение виджет) может поддерживать следующие классы компоновки:
FrameLayout LinearLayout RelativeLayout
И следующий виджет классы:
AnalogClock Button Chronometer ImageButton ImageView ProgressBar TextView ViewFlipper ListView GridView StackView AdapterViewFlipper
Потомки этих классов не поддерживаются.
поэтому, если проверить код, например: TextView
@RemoteView
public class TextView extends View implements ViewTreeObserver.OnPreDrawListener {...
TextView
может быть использован в виджете, имеет аннотацию @RemoteView
, но WebView
:
@Widget
public class WebView extends AbsoluteLayout
implements ViewTreeObserver.OnGlobalFocusChangeListener,
ViewGroup.OnHierarchyChangeListener {
не имеют @RemoteView
.
надеюсь, что это может заставить вас понять. -):
спасибо, но можем ли мы добавить @RemoteView перед WebView и построить sdk самостоятельно? –
@ HurleyZhang вы можете, конечно, но тогда вы создадите Android-вилку Android. А для того, чтобы использовать приложение, поддерживающее WebView, его пользователи должны иметь этот разветвленный Android на своих устройствах. –
Приложение launcher решает, какие виджеты разрешены. Большинство (все?) Пусковых установок полагаются на код принятия решения по умолчанию в 'RemoteViews.onLoadClass()', но пользовательская пусковая установка может, вероятно, переопределить эту логику. –
Вы имеете в виду, почему мы не используем webview для разработки приложений в android? Вы имеете в виду? – Pavandroid
@Pavandroid Нет, я просто хочу сделать виджет, который является веб-просмотром ... и, возможно, веб-просмотр может запускать веб-приложение. –