WebView
外部SDカードからの画像を表示するだけです。これはうまく機能しますが、イメージが新しいデータで上書きされた場合、 はイメージをWebView
更新しません。
これは、アクティビティWebView
の方法でまったく新しい方法で作成されているため、さらに興味深いものです。onCreate
これが私のコードです:
@Override
public void onCreate(Bundle savedInstanceState)
{
Log.d(TAG, "Creating Viewer");
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String imagePath = extras.getString("imgFile");
shareImage(Uri.fromFile(new File(imagePath)));
setContentView(R.layout.viewer_test);
WebView viewer = (WebView) findViewById(R.id.imageViewer);
viewer.getSettings().setAllowFileAccess(true);
viewer.getSettings().setBuiltInZoomControls(false);
viewer.getSettings().setLoadWithOverviewMode(true);
viewer.getSettings().setUseWideViewPort(true);
viewer.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
String filename = "file://"+ imagePath;
String html = "<html><head></head><body bgcolor=\"#000000\"><center><img src=\""+ filename + "\"></center></body></html>";
viewer.loadDataWithBaseURL(null, html, "text/html","utf-8", null);
viewer.reload();
}
保存されたパスの画像は、パスがimagePath
このアクティビティに送信される前に、別のアクティビティによって上書きされます。ただし、WebView
まだ古い画像データが表示されます。
ご覧のとおり、既にキャッシュ モードを設定しようとしましたが、手動で をリロードしようとしましたがWebView
、残念ながらうまくいきませんでした。
また、ファイルマネージャで確認したところ、SD カードのイメージが新しいデータで上書きされています。ファイルを何度も上書きしようとしましたが、それもうまくいきません。どういうわけか、画像データはどこかにキャッシュされます。これを回避し、毎回新しいデータをロードするにはどうすればよいですか?
(明らかに、別のファイル名で新しいファイルを作成しても問題ありませんが、古いファイルを置き換えたいです。)