你好,我想说我是新手编程(我主要处理图形设计),我想设置一个应用程序,我在其中显示图像库,用户可以将图像保存到他们的设备。我正在使用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;
}
};
}
答案 0 :(得分:1)
我相信这就是你所寻找的,android set image as contact icon/wallpaper,特别是Intent setAs = new Intent(Intent.ACTION_ATTACH_DATA);
setAs.setType("image/jpg");
部分。我不完全确定这是你想要的,但如果它不完全正确,它应该让你走上正确的轨道。