Android WebView: сохранение по умолчанию при длительном нажатии

1

Привет, сначала я хотел сказать, что я новичок в программировании (я в основном занимаюсь графическим дизайном), и я хочу настроить приложение, где я показываю галерею изображений, и пользователь может сохранять изображения на своем устройстве. Я использую 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, которая для меня очень интересна - теперь мне нужно только открыть это меню, как в браузере, показывая "Сохранить изображение" "Просмотреть изображение" "Set As Wallpaper" - снова любая помощь приветствуется, и, пожалуйста, не стесняйтесь, чтобы мой код исправил ее и научил меня, почему вы это сделали, если вы ее заработаете> _ <

Новый код:

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;

    }

 };

}
Теги:
image
webview
android-context

1 ответ

1

Я ВЕРЮ, это то, что вы ищете, андроид заданный образ как значок контакта/обои, в частности Intent setAs = new Intent(Intent.ACTION_ATTACH_DATA); setAs.setType("image/jpg"); Intent setAs = new Intent(Intent.ACTION_ATTACH_DATA); setAs.setType("image/jpg"); часть. Я не совсем уверен, что это то, что вы ищете, но если это не совсем правильно, это должно привести вас к правильному пути.

  • 0
    Куда бы я положил это, если приведенный выше код является моим единственным кодом - мне нужно было бы поместить намерение в манифест, и это включит его?
  • 0
    добавьте слушателя длинного щелчка к вашему представлению изображения, которое запускает намерение. Вам не нужно ничего добавлять в манифест, это только для новых действий, например, если вы кликали на изображении, которое запустило новый экран, это нужно было бы зарегистрировать в манифесте, но это не то, что было зарегистрировано, это активность .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню