小编qub*_*ubz的帖子

在返回WebView之前,WebView下载会在短时间内打开浏览器窗口

我的问题是,当我点击webview中的pdf链接时,浏览器会打开一小段时间(我想下载链接文件),pdf文件开始下载,应用程序返回到webview.有没有办法阻止浏览器窗口打开以开始下载?

我已经使用WebViewClient来onOverrideUrlLoading,以便点击的网址保存在网页视图中:

private class LinkWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个下载监听器,所以我可以下载文件(根据我的需要,这些是pdf的):

webView.setDownloadListener(new DownloadListener() {
        public void onDownloadStart(String url, String userAgent,
                String contentDisposition, String mimetype,
                long contentLength) {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setData(Uri.parse(url));
            startActivity(intent);

        }
    });
Run Code Online (Sandbox Code Playgroud)

android download webview android-intent

8
推荐指数
1
解决办法
1万
查看次数

从preferences.xml开始一个活动

我正在尝试进入设置屏幕 -

android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS
Run Code Online (Sandbox Code Playgroud)

从我的偏好活动中的条目,但我没有运气.此刻,按下该条目只会刷新我所在的屏幕.

我的preferences.xml看起来像这样:

<Preference
         android:title="@string/my_location_settings">
    <intent android:action="android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS">
    </intent>
 </Preference>
Run Code Online (Sandbox Code Playgroud)

而我的清单条目看起来像这样:

<activity android:name=".Preferences">
        <intent-filter>
            <action android:name="android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

logcat的:

12-11 15:53:34.170: INFO/ActivityManager(173): Starting activity: Intent { act=android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS cmp=com.my.app/.Preferences }
12-11 15:53:34.400: INFO/ActivityManager(173): Displayed activity com.my.app/.Preferences: 229 ms (total 229 ms)
Run Code Online (Sandbox Code Playgroud)

表现:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

    <activity android:name=".ViewActivity" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MyPageOneActivity">
    </activity>
    <activity android:name=".MyPageTwoActivity">
    </activity>
    <activity android:name=".MyPageThreeActivity">
    </activity>
    <activity android:name=".Preferences">
        <intent-filter>
            <action android:name="com.my.app.PREFERENCES" />
            <category android:name="android.intent.category.DEFAULT" /> …
Run Code Online (Sandbox Code Playgroud)

android manifest preferences android-activity

7
推荐指数
1
解决办法
1万
查看次数

Google Maps Android API v2路线叠加层

今天玩新的API以查看我是否可以移植当前的应用程序,我发现没有MapView.getOverlays().add(...); 概念上,似乎很难想象当地图倾斜时,之前2D的叠加将如何重新排列.

我看到有一些被调用的功能,GroundOverlay但这看起来并不适用于我的情况.我也看到Polyline,这看起来更适合我的目的.

有没有人知道如何,或者是否可以使用映射API v2添加路由覆盖(我正在使用Directions API)?

android overlay routes google-maps-android-api-2

7
推荐指数
1
解决办法
1万
查看次数

builder.setInverseBackgroundForced(true) 不起作用

我在我的代码中 setInverseBackgroundForced 设置为 true,但它似乎不起作用。该代码在深色背景上生成白色文本。

这是我的构建器代码:

public class test {
    private void createMyLocationDisabledAlert() {
          AlertDialog.Builder builder = new AlertDialog.Builder(this);
          builder.setTitle("Title")
            .setInverseBackgroundForced(true)
            .setMessage(
                      "my message")
                      .setCancelable(false)
                      .setPositiveButton("Options",
                              new DialogInterface.OnClickListener() {
                          public void onClick(DialogInterface dialog, int id) {
                              showOptions();
                          }
                      });
          builder.setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int id) {
                     dialog.cancel();
                 }
            });
          AlertDialog alert = builder.create();
          alert.show();
     }
}
Run Code Online (Sandbox Code Playgroud)

我可能做错了什么?我在代码块的不同位置尝试了方法调用,但没有解决。

android background android-alertdialog

5
推荐指数
1
解决办法
4186
查看次数

恢复历史记录和恢复webview的当前页面

我有一个我正在浏览的webview.我已经实施了回去继续前进.我的问题是,当我在访问另一个活动后返回webview时,历史记录丢失,即webview从第一个URL开始.

我如何对其进行编码,以便在我调用webview上的完成后交换到返回webview的另一个活动时,WebBackForwardList将被恢复,并且当我离开webview时,我被带到了我所在的页面?

我已经尝试使用webview.save/restoreState(bundle)覆盖onSaveInstanceState和onRestoreInstanceState但没有成功.

我已通过保存首选项中的最后一个网址返回到最后一页,但无法恢复整个历史记录.

history android bundle webview android-activity

5
推荐指数
1
解决办法
5689
查看次数