android 开发中,如何获取上网记录

android 开发中,如何获取上网记录,第1张

需要在AndroidManifestxml中加权限。

<uses-permission android:name="comandroidbrowserpermissionREAD_HISTORY_BOOKMARKS"></uses-permission>

String string = null;

ContentResolver contentResolver = getContentResolver();

Cursor cursor = contentResolverquery(Uriparse("content://browser/bookmarks"), new String[]{"url"}, null, null, null);

while (cursor != null && cursormoveToNext()) {

string = cursorgetString(cursorgetColumnIndex("url"));

Logd("debug", string == null "null":string);

}

重写shouldoverrideURL里面获得URL,然后自己通过>

import androidcontentContext;

import androidnetConnectivityManager;

import androidnetNetworkInfo;

public class NetManager {

Context context;

public NetManager(Context context) {

thiscontext = context;

}

// 判断网络是否可用的方法

public boolean isOpenNetwork() {

ConnectivityManager connectivity = (ConnectivityManager) context

getSystemService(ContextCONNECTIVITY_SERVICE);

if (connectivity != null) {

NetworkInfo[] info = connectivitygetAllNetworkInfo();

if (info != null)

for (int i = 0; i < infolength; i++)

if (info[i]getState() == NetworkInfoStateCONNECTED) {

return true;

}

}

return false;

}

// 判断WIFI网络是否可用的方法

public boolean isOpenWifi() {

ConnectivityManager connManager = (ConnectivityManager) context

getSystemService(ContextCONNECTIVITY_SERVICE);

NetworkInfo mWifi = connManager

getNetworkInfo(ConnectivityManagerTYPE_WIFI);

return mWifiisConnected();

}

}

public static void netManager(final Context a) {

netManager = new NetManager(a);

if (!netManagerisOpenNetwork()) {

// 如果网络不可用,则d出对话框,对网络进行设置

Builder builder = new Builder(a);

buildersetTitle("没有可用的网络");

buildersetMessage("是否对网络进行设置");

buildersetPositiveButton("确定",

new androidcontentDialogInterfaceOnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Intent intent = null;

try {

String sdkVersion = androidosBuildVERSIONSDK;

if (IntegervalueOf(sdkVersion) > 10) {

intent = new Intent(

androidproviderSettingsACTION_WIRELESS_SETTINGS);

} else {

intent = new Intent();

ComponentName comp = new ComponentName(

"comandroidsettings",

"comandroidsettingsWirelessSettings");

intentsetComponent(comp);

intentsetAction("androidintentactionVIEW");

}

astartActivity(intent);

} catch (Exception e) {

eprintStackTrace();

}

}

});

buildersetNegativeButton("取消",

null);

buildershow();

}else {

ToastmakeText(a, "网络不给力,请确认您的网络连接", ToastLENGTH_LONG)show();

}

}

转载,仅供参考。

由于Android可用于具有各种屏幕尺寸和像素密度的设备,因此您应该在网页设计中考虑到这些因素,以便您的网页始终以适当的大小显示。

当您定位到Android设备的网页时,您应该考虑以下两个主要因素:

视口

视口是为您的网页提供可绘制区域的矩形区域。 您可以指定多个视口属性,例如其大小和初始刻度。 最重要的是视图端口宽度,它定义了从网页的角度可用的水平像素总数(可用的CSS像素数)。

屏幕密度

WebView类和大多数Web浏览器将您的CSS像素值转换为与密度无关的像素值,因此您的网页以与中密度屏幕(约160dpi)相同的可感知大小显示。 然而,如果图形是您的网页设计的重要元素,则应该密切关注不同密度下的缩放,因为320dpi屏幕上的300像素宽的图像将被放大(使用每个CSS像素更多的物理像素) ,它可以产生人造物(模糊和像素化)

视口是您的网页绘制的区域。 虽然视口的总可见区域与缩放后的屏幕大小匹配,但视口具有自己的像素尺寸,可用于网页。 例如,尽管设备屏幕的物理宽度可能为480像素,但视口的宽度可以为800像素。 当视口比例为10时,这允许设计为800像素宽的网页在屏幕上完全可见。 默认情况下,Android(包括Chrome)上的大多数网络浏览器都将视口设置为较大的尺寸(称为“宽视口模式”,大约为980px宽)。 许多浏览器也尽可能缩小,默认情况下显示完整的视口宽度(称为“概览模式”)。

注意:当您的页面在WebView中呈现时,默认情况下不会使用宽视口模式(页面以完全缩放显示)。 您可以使用setUseWideViewPort()启用宽视口模式。

您可以使用文档<head>中的<meta name =“viewport”>标签来定义网页视口的属性,例如宽度和初始缩放级别。

以下语法显示所有支持的视口属性和每个受支持的值的类型:

例如,以下<meta>标记指定视口宽度应与设备屏幕宽度完全相符,并且应禁用缩放功能:

当优化您的移动设备的站点时,通常应将宽度设置为“设备宽度”,以使尺寸完全符合所有设备,然后使用CSS媒体查询来灵活地调整布局以适应不同的屏幕尺寸。

注意:只有当您确定您的网页布局是灵活的并且内容适合小屏幕的宽度时,才应禁用用户缩放。

Android浏览器和WebView支持CSS媒体功能,允许您为特定的屏幕密度创建样式 - -webkit-device-pixel-ratio CSS媒体功能。 您应用于此功能的值应为“075”,“1”或“15”,以表示样式分别用于具有低密度,中密度或高密度屏幕的设备。

例如,您可以为每个密度创建单独的样式表:

或者,在一个样式表中指定不同的样式:

有关处理不同屏幕密度(尤其是图像)的更多信息,请参阅高DPI图像以获得可变像素密度

使用JavaScript定位设备密度

Android浏览器和WebView支持DOM属性,可以让您查询当前设备的密度,即windowdevicePixelRatio DOM属性。此属性的值指定用于当前设备的缩放因子。例如,如果windowdevicePixelRatio的值为“10”,则设备被认为是中密度设备,默认情况下不应用缩放;如果值为“15”,则设备被认为是高密度设备,默认情况下页面缩放为15x;如果值为“075”,则设备被认为是低密度设备,默认情况下页面缩放为075x。当然,Android浏览器和WebView应用的扩展是基于网页的目标密度,如关于定义视口目标密度的部分所述,默认目标是中等密度,但是您可以更改目标来影响如何您的网页会缩放不同的屏幕密度。

例如,以下是使用JavaScript查询设备密度的方法:

Supporting Different Screens in Web Apps

以上内容为官方翻译,翻译不准确地方望指出:

webView = (WebView) findViewById(Ridwebview);

  // 设置支持javascript

  webViewgetSettings()setJavaScriptEnabled(true);

  // 启动缓存

  webViewgetSettings()setAppCacheEnabled(true);

  // 设置缓存模式

  webViewgetSettings()setCacheMode(WebSettingsLOAD_DEFAULT);

  // 加载网页

  webViewloadUrl("

>

以上就是关于android 开发中,如何获取上网记录全部的内容,包括:android 开发中,如何获取上网记录、Android 中 Webview 怎么获取打开的网页的 HTML 代码、Android如何获取网络连接状态及怎样调用网络配置界面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9455952.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存