1. 当按返回键时,完全按退出系统
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
android.os.Process.killProcess(android.os.Process.myPid());
super.onDestroy();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
2. 不显示标题栏
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
或者是设置一个style属性,主题,加入下面的项
<item name="android:windowNoTitle">true</item>设置背景半暗
LayoutParams lp = getWindow().getAttributes();
lp.dimAmount = 0.5f;
// 设置透明度是alpha的值
// lp.alpha = 0.8f;
getWindow().setAttributes(lp);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);设置背景模糊
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
3. 判断是否有可用网络
首先获取查看网络权限 在 AndroidManifest.xml文件添加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />然后获取连接管理服务
private ConnectivityManager getConnectManager() {
return (ConnectivityManager) getSystemService("connectivity");
}最后判断网络是否可用
public boolean checknNetWork() {
// 获取Wifi的状态
boolean flag1 = getConnectManager().getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected();
// 获取手机网络状态
boolean flag2 = getConnectManager().getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected();if (!flag1 && !flag2) {
return false;
}
return true;
}
4. 将Drawable转化为Bitmap
public static Bitmap drawableToBitmap(Drawable drawable){
int width = drawable.getIntrinsicWidth();
int height = drawable.getIntrinsicHeight();
Bitmap bitmap = Bitmap.createBitmap(width, height,
drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0,0,width,height);
drawable.draw(canvas);
return bitmap;
}
5. 小数点后几位
public static double round(double argVal, int argWs, int argModel) {
BigDecimal bd = new BigDecimal(argVal);
bd = bd.setScale(argWs, argModel);
double d = bd.doubleValue();
bd = null;return d;
}
6. 时间显示格式转换
/**
* 格式化时间
* @param format1 原格式 yyyy-MM-dd HH:mm:ss
* @param format2 转换后的格式
* @param dateStr 需要转换的字符串
* @return
*/
public static String formatDate(String format1 ,String format2,String dateStr) {
SimpleDateFormat sdf1 = new SimpleDateFormat(format1);
SimpleDateFormat sdf2 = new SimpleDateFormat(format2);
try {
return sdf2.format(sdf1.parse(dateStr));
} catch (ParseException e) {
e.printStackTrace();
return "";
}
}
7. 开启软键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
8. 获取SD卡总空间和可用空间
public static String getSDcardStorage() {
String state = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state)) {
File sdcardDir = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(sdcardDir.getPath());
long blockSize = sf.getBlockSize();
long blockCount = sf.getBlockCount();
long availCount = sf.getAvailableBlocks();
return "SD卡:" + formatSize(blockSize*blockCount)
+ " 可用空间:" + formatSize(availCount*blockCount);
}
return null;
}
9. 获取系统空间和可用空间
public static String getSystemStorage() {
File root = Environment.getRootDirectory();
StatFs sf = new StatFs(root.getPath());
long blockSize = sf.getBlockSize();
long blockCount = sf.getBlockCount();
long availCount = sf.getAvailableBlocks();
return "总空间:" + formatSize(blockSize*blockCount)
+ " 可用空间:" + formatSize(availCount*blockSize);
}
10. 手机振动,代码片段。
Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern, -1);
需要在AndroidManifest.xml文件添加权限
<uses-permission android:name="android.permission.VIBRATE" />
11. 设置开机运行程序
需要在AndroidManifest.xml中添加
<intent-filter>
<!-- 系统启动完成后会调用-->
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>Android 隐藏应用程序图标
把<category android:name="android.intent.category.LAUNCHER" />删除即可设置透明背景,修改AndroidManifest.xml文件,在对应的Activity里面加上下面的属性:
android:theme="@android:style/Theme.Translucent"
使用系统背景作为应用的背景,在onCreate的时候添加窗口标志:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
12. android中打开浏览器
Intent viewIntent = new Intent("android.intent.action.VIEW",Uri.parse("http://vaiyanzi.cnblogs.com")); startActivity(viewIntent);
13. android 拨打电话
try { Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:+110")); startActivity(intent); } catch (Exception e) { Log.e("SampleApp", "Failed to invoke call", e); }
14. 再按一次退出程序代码
private long exitTime = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-exitTime) > 2000){
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
15. 获取屏幕
Display display = getWindowManager().getDefaultDisplay();
System.out.println("width==" + display.getWidth() + "=====heiht===" + display.getHeight()); //获取屏幕的分辨率
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); double x = Math.pow(dm.widthPixels/dm.xdpi,2); double y = Math.pow(dm.heightPixels/dm.ydpi,2); double screenInches = Math.sqrt(x+y); System.out.println("screenInches=========="+screenInches); //获取屏幕大小(尺寸)eg:4.3英寸等