Прежде чем говорить, что это дубликат, ни одно из решений вокруг stackoverflow не работало для меня. У меня есть приложение, которое имеет кнопку. После нажатия кнопки открывается webviewActivity с веб-просмотром. Он имеет вход, и когда я ввожу свой логин и попытаться получить доступ к остальной части сайта (с моими учетными данными уже), я не могу из-за не вошли в систему.Cookies WebView не работают
Вот мой WebViewActivity
public class WebViewActivity extends Activity {
private WebView webView;
private static byte[] finaldata;
FileInputStream finall = null;
private static boolean loopSleep = false;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
webView = (WebView) findViewById(R.id.webView1);
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
cookieManager.setAcceptCookie(true);
webView.setWebViewClient(new MyWebViewClient());
WebSettings ws = webView.getSettings();
ws.setSaveFormData(false);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
String dbPath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
webView.getSettings().setDatabasePath(dbPath);
webView.getSettings().setDomStorageEnabled(true);
setContentView(webView);
webView.loadUrl("http://192.168.1.33:8080/formsvi/login.html");
}
private class MyWebViewClient extends WebViewClient {
@Override
public WebResourceResponse shouldInterceptRequest (final WebView view, String url) {
if (url.contains("TAKEPICWITHCAMERA"))
{
//OPEN CAMERA AND TAKE PICTURE
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, 1);
}
while (!loopSleep)
{
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
loopSleep = false;
InputStream is = new ByteArrayInputStream(finaldata);
return new WebResourceResponse("text/html", "UTF-8", is);
}
else
{
return null;
}
}
}
}
Надеюсь, код камеры или shouldInterceptRequest
У меня нет ничего общего с этой проблемой.
Эта петля никогда не выйдет, она также удерживает устройство в рабочем состоянии, теряя энергию. –
, пока изображение не будет снято, это не проблема. Это просто временное исправление, потому что если действие продолжается, изображение не отправляется с намерением – AAlferez
По крайней мере, вам нужно заглянуть в AsyncTasks (http://developer.android.com/reference/android/os/AsyncTask .html) –