
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中还是比较复杂的传递流程如下:
(1) 事件从ActivitydispatchTouchEvent()开始传递,只要没有被停止或拦截,从最上层的View(ViewGroup)开始一直往下(子View)传递。子View可以通过onTouchEvent()对事件进行处理。
(2) 事件由父View(ViewGroup)传递给子View,ViewGroup可以通过onInterceptTouchEvent()对事件做拦截,停止其往下传递。
问题一:如何获取Android手机屏幕高宽值 DisplayMetrics metrics = new DisplayMetrics();
objActivitygetWindowManager()getDefaultDisplay()getMetrics(metrics);
M_NSCREENWIDTH = metricswidthPixels; 屏幕宽度
M_NSCREENHEIGHT = metricsheightPixels; 屏幕高度
问题二:android怎么获取屏幕宽度 在一个Activity的onCreate方法中,写入如下代码:
DisplayMetrics metric = new DisplayMetrics();
getWindowManager()getDefaultDisplay()getMetrics(metric);
int width = metricwidthPixels; 屏幕宽度(像素)
int height = metricheightPixels; 屏幕高度(像素)
float density = metricdensity; 屏幕密度(075 / 10 / 15)
int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)
AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下:
这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
问题三:Android开发 怎样获取屏幕的宽高是多少厘米 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸
下面的代码即可获取屏幕的尺寸。
在一个Activity的onCreate方法中,写入如下代码:
[java] view plain copy print
DisplayMetrics metric = new DisplayMetrics();
getWindowManager()getDefaultDisplay()getMetrics(metric);
int width = metricwidthPixels; 屏幕宽度(像素)
int height = metricheightPixels; 屏幕高度(像素)
float density = metricdensity; 屏幕密度(075 / 10 / 15)
int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)
DisplayMetrics metric = new DisplayMetrics();
getWindowManager()getDefaultDisplay()getMetrics(metric);
int width = metricwidthPixels; 屏幕宽度(像素)
int height = metricheightPixels; 屏幕高度(像素)
float density = metricdensity; 屏幕密度(075 / 10 / 15)
int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)
但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下:
[html] view plain copy print
>
问题四:Android 如何获得设备触摸板(屏)的长宽 WindowManager wm=(WindowManager)getContext()getSystemService(ContextWINDOW_SERVICE);int width = wmgetDefaultDisplay()getWidth();int height = wmgetDefaultDisplay()getHeight();
问题五:android如何获取屏幕宽度 现在获取屏幕宽度一般都是像素。
可以用以下代码:
WindowManager wm = (WindowManager) getContext()
getSystemService(ContextWINDOW_SERVICE);
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
或者是:
WindowManager wm = thisgetWindowManager();
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
问题六:android怎么获取屏幕的宽度 在一个Activity的onCreate方法中,写入如下代码: DisplayMetrics metric = new DisplayMetrics(); getWindowManager()getDefaultDisplay()getMetrics(metric); int width = metricwidthPixels; 屏幕宽度(像素) int height = metricheightPixels; 屏幕高度(像素) float density = metricdensity; 屏幕密度(075 / 10 / 15) int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下: 这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
问题七:js网页如何获取手机屏幕宽度 ]@]@]
@sssss
var x = navigator;
var w=windowinnerWidth
|| documentdocumentElementclientWidth
|| documentbodyclientWidth;
var h=windowinnerHeight
|| documentdocumentElementclientHeight
|| documentbodyclientHeight;
documentgetElementById(p1)innerHTML=屏幕分辨率:+screenwidth + + screenheight+内部窗口: + w + + h
不知道是不是这个 屏幕分辨率 :pc上的桌面分辨率 。手机上是 一个型号固定的分辨率比如
华为8813的分辨率是480854。。 内部窗口是 改变窗口大小刷新一下就有新的数据
问题八:android编程:android中如何获取屏幕大小 获取屏幕尺寸大小,是程序能在不同大小的手机上有更好的兼容性
WindowManager wm=(WindowManager)getContext()getSystemService(ContextWINDOW_SERVICE);
wwidth=wmgetDefaultDisplay()getWidth();手机屏幕的宽度
hheight=wmgetDefaultDisplay()getHeight();手机屏幕的高度
问题九:android如何获取整个屏幕大小 状态栏的高度:Rect frame = new Rect();
MainActivitythisgetWindow()getDecorView()getWindowVisibleDisplayFrame(frame);
int topHeigh= frametop;
问题十:Android中,BaseAdapter类中怎么获取屏幕宽度 像这种可能多处能用到的我一般在BaseApplication中初始化: 这样不论在哪里都可以调到
public class App extends Application {
private static App mInstance;
@Override
public void onCreate() {
mInstance = this;
}
/
获取当前手机屏幕的宽
/
public static int getPhoneWidth() {
手机屏幕的宽
WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);
return wmgetDefaultDisplay()getWidth();
}
/
获取当前手机屏幕的高
/
public static int getPhoneHeight() {
手机屏幕的高
WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);
return wmgetDefaultDisplay()getHeight();
}
}
ADB接口的作用主要是让电脑等其它设备控制安卓系统的,所以,称为“中间桥”;
不是为安卓自已用的,自已可直接执行称为SHELL,这与ADB无关。
所以安卓JAVA不一定有封装的ADB类。电脑上有ADB服务程序,端口5037,
它是中间程序,与安卓系统上守护进程(Daemon)通讯。
如果要在自已的手机上应该也能执行adb命令,应该直接跟守护进程
(Daemon)通讯了。百度上可以搜到的方法并不满意。
楼主用exec执行CMD命令,这已不是ADB接口了,这是系统的SHELL了!!!
自已用socket/tcp直接发命令效果不知怎样,地址用127001, 安卓daemon进程的端口
5555 是奇数开始。
。。。 。至于ADB对话协议百度可以搜到,建议试一试。
以上就是关于Android如何获取网络连接状态及怎样调用网络配置界面全部的内容,包括:Android如何获取网络连接状态及怎样调用网络配置界面、android 如何获取一个界面最顶层的view并处理单击事件的分发机制、安卓如何获取屏幕宽度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)