【问题标题】:Android WebView : Default Save As Context Long PressAndroid WebView:默认另存为上下文长按
【发布时间】:2015-06-03 03:38:08
【问题描述】:

你好,首先我想说我是编程新手(我主要处理图形设计),我想建立一个应用程序,在其中显示图像库,用户可以将图像保存到他们的设备。我正在使用 WebView,因为它对我来说是最简单的,而且现在我在使用 html 的应用程序中可以很好地显示图像。我希望用户能够长按调用默认浏览器“另存为”或“设置为墙纸”操作。

这是我的 java 文件中的代码:

package com.wallpapergallery.wjd;

import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.app.Activity;

public class WallpaperGallerybyWJDDesignsActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    WebView webview = (WebView)findViewById(R.id.webview);     
    webview.setWebChromeClient(new WebChromeClient());
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("file:///android_asset/www/index.html");

    }
}

当然,然后打开索引页面,我在页面上放置了一个普通的 png 进行测试。在您回答之前,我警告您,我对此很陌生,因此解释了示例代码的帮助,以便我可以学习,将不胜感激。

完成此操作后,我的想法是使用 HTML5 库来显示我的壁纸并允许用户保存/设置为壁纸。


更新 1: 我已经成功地进行了长按工作,并将 logcat 信息返回给我,这对我来说非常令人兴奋 - 现在我需要做的就是让该菜单像浏览器一样弹出确实显示“保存图像”“查看图像”“设置为壁纸” - 再次感谢任何帮助,请随时使用我的代码修复它并告诉我为什么你这样做如果你让它工作>_

新代码:

package com.wallpapergallery.wjd;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.app.Activity;

public class WallpaperGallerybyWJDDesignsActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    WebView webview = (WebView)findViewById(R.id.webview);

    webview.setOnLongClickListener(listener);

    webview.setWebChromeClient(new WebChromeClient());
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("file:///android_asset/www/index.html");                        
}
private OnLongClickListener listener = new OnLongClickListener() {

    public boolean onLongClick(View v) {

       Log.i("test","worked");

       return true;

    }

 };

}

【问题讨论】:

    标签: android image webview android-context


    【解决方案1】:

    我相信这就是您要寻找的东西,android set image as contact icon/wallpaper,特别是 Intent setAs = new Intent(Intent.ACTION_ATTACH_DATA); setAs.setType("image/jpg"); 部分。我不完全确定这就是您要寻找的东西,但如果它不完全正确,它应该会让您走上正轨。

    【讨论】:

    • 如果上面的代码是我唯一的代码,我应该把它放在哪里 - 我是否需要将意图放在清单中并启用它?
    • 向你的图像视图添加一个长点击监听器来启动意图。您不需要向清单中添加任何内容,这些仅用于新活动,例如,如果您正在点击启动新屏幕的图像,则需要在清单中进行注册,但不是注册的意图,而是活动。
    猜你喜欢
    • 1970-01-01
    • 2012-02-13
    • 2012-05-16
    • 2012-08-31
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 2013-02-28
    • 2014-05-04
    相关资源
    最近更新 更多