Last active
May 10, 2017 15:44
-
-
Save brucevanfdm/278906056423caaf4fd6f0dac36d55d0 to your computer and use it in GitHub Desktop.
Android常用功能代码块
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment