在Android应用中,以下方法有什么问题:
public class MyApp extends android.app.Application {
private static MyApp instance;
public MyApp() {
instance = this;
}
public static Context getContext() {
return instance;
}
}
Run Code Online (Sandbox Code Playgroud)
并传递它到处(例如SQLiteOpenHelper)需要上下文(当然不泄漏)?
我有一个服务器,它向我的Android应用程序发送一个会话cookie,用于认证通信.我正在尝试使用指向同一服务器的URL加载WebView,并且我正在尝试传递会话cookie以进行身份验证.我观察到它间歇性地工作,但我不知道为什么.我使用相同的会话cookie在我的服务器上进行其他调用,这些调用永远不会失败.我只是在尝试在WebView中加载URL时才发现此问题,并且每次都不会发生这种情况.很沮丧.
下面是我用来执行此操作的代码.任何帮助将不胜感激.
String myUrl = ""http://mydomain.com/";
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
Cookie sessionCookie = getCookie();
if(sessionCookie != null){
String cookieString = sessionCookie.getName() +"="+sessionCookie.getValue()+"; domain="+sessionCookie.getDomain();
cookieManager.setCookie(myUrl, cookieString);
CookieSyncManager.getInstance().sync();
}
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new MyWebViewClient());
webView.loadUrl(myUrl);
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,它将安装在一台设备上,每个用户都将使用我的设备共享图像.
他们需要登录Facebook
才能在他们的个人资料上分享图片.共享图像后,应用程序应从Facebook注销,以便让下一个用户登录.
出于这个原因,我没有使用Facebook Android应用程序,但选择了webview替代方案.用户登录后,打开WebView
(Chrome
登录)登录并询问用户名,密码和权限.
用户发布图像,应用程序调用:
LoginManager.getInstance().logOut();
Run Code Online (Sandbox Code Playgroud)
当下一个用户点击登录时Facebook
,会打开一个WebView
说我已经从该Facebook
帐户访问过这个应用程序,所以我可以点击继续 - 甚至没有注销按钮.
这是因为它使用了先前的用户会话,该会话仍然在其中登录WebView
.
我需要一种方法来注销用户WebView
.我正在使用Facebook sdk 4.31.0
.
我尝试使用本答案中描述的方法清除Cookies ,但不起作用:
public static void clearCookies(Context context)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
Log.d(TAG, "Using clearCookies code for API >=" + String.valueOf(Build.VERSION_CODES.LOLLIPOP_MR1));
CookieManager.getInstance().removeAllCookies(null);
CookieManager.getInstance().flush();
} else
{
Log.d(TAG, "Using clearCookies code for API <" + String.valueOf(Build.VERSION_CODES.LOLLIPOP_MR1));
CookieSyncManager cookieSyncMngr=CookieSyncManager.createInstance(context);
cookieSyncMngr.startSync();
CookieManager cookieManager=CookieManager.getInstance();
cookieManager.removeAllCookie();
cookieManager.removeSessionCookie();
cookieSyncMngr.stopSync();
cookieSyncMngr.sync(); …
Run Code Online (Sandbox Code Playgroud) 当我试图在Android中加载Magento 2 电子商务网站时WebView
,我收到以下错误消息:
"无法发送cookie.将超出最大cookie数量."
这个错误的原因是什么?我怎样才能解决这个问题.?任何人都可以帮助我吗?
Android代码
WebView webView=(WebView) findViewById(R.id.disp);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setAppCacheEnabled(false);
webView.getSettings().setAllowContentAccess(true);
webView.getSettings().setAllowFileAccess(true);
webView.setWebViewClient(new MyViewClient());
try {
webView.loadUrl("https://sweetroomksa.com/");
}catch (Exception e){
}
Run Code Online (Sandbox Code Playgroud) 我使用浏览器登录Instagram.我想从Instagram退出.我如何以编程方式存档?