Откройте WebView, а не браузер из предпочтения. Экран Android - PullRequest
6 голосов
/ 16 июня 2011

На моем PreferenceScreen я хочу открывать ссылки в WebView, а не в браузере. Есть идеи?

Вот часть моего xml:

 <PreferenceCategory
      android:title="@string/about">
     <PreferenceScreen
            android:title="@string/eula"
            android:summary="">
        <intent android:action="android.intent.action.VIEW"
                android:data="http://www.tara.com/m/EULA.aspx" />
    </PreferenceScreen>

    <PreferenceScreen
            android:title="@string/privacy_policy"
            android:summary="">
        <intent android:action="android.intent.action.VIEW"
                android:data="http://www.tara.com/m/Legal/Privacy.aspx" />
    </PreferenceScreen>
    <PreferenceScreen
            android:title="@string/version"
            android:summary="@string/version_name">
    </PreferenceScreen>

    <PreferenceScreen
            android:title="@string/customer_support"
            android:summary="@string/email_description">
            <intent android:action="com.tara.android.turboweather.EMAIL_ACCUWX"
             />
    </PreferenceScreen>
    <PreferenceScreen
            android:title="@string/branding"
            android:summary="">
    </PreferenceScreen>        
</PreferenceCategory>

Так что, где URL-адреса, я хочу открыть Android WebView, а не открыть браузер телефона.

1 Ответ

8 голосов
/ 16 июня 2011

Вам следует использовать прослушиватель щелчков на элементе предпочтения, а когда он щелкнет, откройте свою активность.

в XMl, замените PreferenceScreen на Preference и дайте ему ключ

<Preference android:title="About"
            android:summary="Details about the app"
            android:key="aboutPref" />

затем в вашей активности предпочтений, после загрузки файла настроек:

Preference pref = findPreference( "aboutPref" );
pref.setOnPreferenceClickListener( myListener );

где myListener - это экземпляр внутреннего класса, который запустит вашу деятельность и передаст URL, чтобы открыть намеренно дополнительные данные.

С уважением, Stéphane

...