Android小结(各种系统信息,界面等获取方法)

1、设置activity无标题,全屏

// 设置为无标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 设置为全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

2、获得屏幕高度和宽度

//获取屏幕的高度和宽度用到WindowManager这个类
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);

int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();

3、获取手机各种信息

TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);

String imei = tm.getDeviceId();//移动设备国际辨识码
String imsi = tm.getSubscriberId();//国际移动用户识别码
String tel = tm.getLine1Number();//电话号码

String model =  android.os.Build.MODEL;//手机型号
String sdk = android.os.Build.VERSION.SDK;//SDK版本
String release = android.os.Build.VERSION.RELEASE;//系统版本

//根据IMSI号码识别移动供应商
public String getProvidersName(String IMSI) {
    String ProvidersName = null;
    // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
    if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
        ProvidersName = "中国移动";
    } else if (IMSI.startsWith("46001")) {
        ProvidersName = "中国联通";
    } else if (IMSI.startsWith("46003")) {
        ProvidersName = "中国电信";
    }
    return ProvidersName;
}

4、使用Toast输出一个字符串

public void showToast(String text){
    Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
}

5、把一个字符串写进文件

//把一个字符串写进文件
public void writeFile(String str,String path){
    File file;
    FileOutputStream out;
    try{
        //创建文件
        file = new File(path);
        file.createNewFile();
        //打开文件file的输出流
        out = new FileOutputStream(file);
        //将字符串转换成byte数组写入文件
        out.write(str.getBytes());
        out.close();
    }catch(IOException e){

    }
}

6、把文件内容读出到字符串

//把文件内容读出到字符串
public String getFileInfo(String path){
    File file;
    String str = "";
    FileInputStream in;
    try{
        //打开文件的inputStream
        file  new File(path);
        in = new FileInputStream(file);
        //将文件内容读入byte数组
        int length = (int)file.length();
        byte [] temp = new byte[length];
        in.read(temp,0,length);
        str = EncodingUtils.getString(temp, "utf-8");
        in.close();
    }catch(IOException e){

    }
    return str;
}

7、程序的安装,卸载,更新

//调出系统安装应用
String fileName = Environment.getExternalStorageDirectory() + apkName;
Uri uri = Uri.fromFile(new File(fileName));
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "application/vnd.android.package-archive");
this.startActivity(intent);

//调出系统卸载应用
Uri packageURI = Uri.parse("package: your.app.id");
Intent intent = new Intent(Intent.ACTION_DELETE,packageURI);
startActivity(intent);

8、实现点击两次返回键退出

//第一步,定义一个变量,用于标识是否退出

boolean isExit;

//第二步,重写Activity中onKeyDown方法

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        exit();
        return false;
    } else {
        return super.onKeyDown(keyCode, event);
    }
}

//第三步,写一个退出方法
public void exit(){
    if (!isExit) {
        isExit = true;
        Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
        mHandler.sendEmptyMessageDelayed(0, 2000);
    } else {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        startActivity(intent);
        System.exit(0);
    }
}

//第四步,根据exit()方法中的的消息,写一个Handler
Handler mHandler = new Handler() {

    @Override
    public void handleMessage(Message msg) {
        // TODO Auto-generated method stub
        super.handleMessage(msg);
        isExit = false;
    }

};

时间: 2024-10-22 00:34:01

Android小结(各种系统信息,界面等获取方法)的相关文章

Android应用启动时间及启动日志获取方法

1. Android应用中,可以使用如下方式进行应用启动时间的查看 2. 启动日志获取方法:

Android:解决客户端从服务器上获取数据乱码的方法

向服务器发送HTTP请求,接收到的JSON包为response,用String content = EntityUtils.toString(response.getEntity(),"utf-8");解码还是出现了中文乱码,在后面加了 String name = new String(response.getBytes("iso-8859-1"), "UTF-8"); 也无济于事.想到服务器好像是用URLENCODER编了码的,怀着试一试的态度

Android的GPS获取方法

Android的GPS获取方法 其实这是一个伪命题:因为我不是要说android的gps获取实现,或者说底层具体实现:而是我直接使用了百度地图的sdk,在其中直接获取到gps信息,以前有做过这个功能,今天就直接将demo介绍一下以利大家. 第一步:获取sdk 在百度地图的开发者官网上直接就可以下载到线程的demo:当然功能相对是齐全的,基本解决需要地图的各种功能了.http://developer.baidu.com/map/index.php?title=androidsdk 第二步,获取ke

Android手机外置SD卡(TF卡)的获取方法

Android手机上的外置SD卡,起初的时候,即在Android出世的前几年,那时手机的存储是十分有限的,不像现在到处可见16G.32G和64G的存储,因而那时候的手机有的厂商允许插入外置的SD卡,此时这张卡仍处于手机的扩展部分.后来,随着手机的发展以及存储能力的增加,这张外置SD卡,逐渐成为了手机的一部分,不再允许可挺拔了,当然现在依然有的手机允许对存储进行拓展,比如三星等. 那张拓展的存储卡,现在叫做TF卡,且不是所有的手机都支持它,但是有时候有些奇葩需求偏要优先存储在TF卡里面,这叫不得不

android异步更新UI界面的方法

在android平台下,进行多线程编程时,经常需要在主线程之外的一个单独的线程中进行某些处理,然后更新用户界面显示.但是,在主线线程之外的线程中直接更新页面显示的问题是:系统会报这个异常,android.view.viewroot$calledfromwrongthreadexception: only the original thread that created a view hierarchy can touch its views. (只有原始创建这个视图层次(view hierach

Android 推断当前的界面是否是桌面的方法

在开发桌面飘浮控件的时候,须要通过service查看当前是不是桌面,从而控制漂浮窗的显现与消失,以下的代码就是推断是否是桌面的方法 /** * 推断当前界面是否是桌面 */ private boolean isHome() { ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> rti = mActivityM

[Android] Android 去掉界面标题栏的方法

Android 去掉界面标题栏的方法 这个首先要区分当前Activity 是继承了 Activity 类 ,还是 AppCompatActivity 类 情况一:创建的activity默认继承了AppCompatActivity 方法一)全局设置 可以在AndroidManifest.xml中作如下配置,这样就没有标题栏了 <application android:theme="@style/Theme.AppCompat.NoActionBar"> 方法二)针对当前页面单

Android应用盈利广告平台的嵌入方法详解

一.如何学习Android   android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具.对于过多的具体知识详细介绍我这里不展开,我只说我个人的学习方法和本人以为的好的步骤.   1.搭建环境:包括对Java和Eclipse及模拟器(有真机再好不过)的熟悉,对于android的tools和adb命令可以放到后面熟悉了解.   2.从helloworld开始:了解一个基本的android应用代码包含哪些,各部分做什么用.(这里只要

Android 自学之基本界面组件(下)

按钮(Button)与图片按钮(ImageButton)组件的功能和用法 Button继承了TextView,ImageButton继承了Button.不管是Button还是ImageButton,他们的功能都很单一,主要是在UI界面生成一个按钮,该按钮可以供用户单击,当用户单击按钮后出发一个Onclick事件. Button  和  ImageButton的不同在于Button生成的按钮显示文字,ImageButton生成的按钮显示图片.(关于ImageButton属性android:text