1、SHA1码的获取:
(添加第三方库创建应用的时候,有的需要添加,网上搜很多,记下来)
keytool -list -v -keystore debug.keystore //调试
keytool -list -v -keystore [此处为自己生成签名的完整路径] //正式
//代码获取
public static String sHA1(Context context) {
try {
PackageInfo info = context.getPackageManager().getPackageInfo(
context.getPackageName(), PackageManager.GET_SIGNATURES);
byte[] cert = info.signatures[0].toByteArray();
MessageDigest md = MessageDigest.getInstance("SHA1");
byte[] publicKey = md.digest(cert);
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < publicKey.length; i++) {
String appendString = Integer.toHexString(0xFF & publicKey[i])
.toUpperCase(Locale.US);
if (appendString.length() == 1)
hexString.append("0");
hexString.append(appendString);
hexString.append(":");
}
String result = hexString.toString();
Log.d("xiaojingyu", result);
return result.substring(0, result.length() - 1);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
2、获取设备编号:
1.public static String getDeviceId(Context context) {
2. String deviceId = null;
3. deviceId = ((TelephonyManager) context
4. .getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();
5. if (deviceId == null && Build.VERSION.SDK_INT > 9) {
6. deviceId = Secure.getString(context.getContentResolver(),
7. Secure.ANDROID_ID);
8. if (deviceId == null) {
9. ConnectivityManager cm = (ConnectivityManager) context
10. .getSystemService(Context.CONNECTIVITY_SERVICE);
11. NetworkInfo networkInfo = cm.getActiveNetworkInfo();
12. if (networkInfo != null
13. && networkInfo.isAvailable()
14. && networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
15. WifiManager wm = (WifiManager) context
16. .getSystemService(Context.WIFI_SERVICE);
17. deviceId = wm.getConnectionInfo().getMacAddress();
18. } else {
19. deviceId = UUID.randomUUID().toString();
20. }
21. }
22. }
23.
24. if (deviceId != null && deviceId.length() < 28) {
25. int len = 28 - deviceId.length();
26. for (int i = 0; i < len; i++) {
27. deviceId = "0" + deviceId;
28. }
29. }
30.
31. return deviceId;
32. }
3、隐藏软键盘:
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
//强制显示或者关闭系统键盘
public void KeyBoard(final EditText txtSearchKey, final boolean status) {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
InputMethodManager m = (InputMethodManager)
txtSearchKey.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (status) {
m.showSoftInput(txtSearchKey, InputMethodManager.SHOW_FORCED);
} else {
m.hideSoftInputFromWindow(txtSearchKey.getWindowToken(), 0);
}
}
}, 300);
}
4、
Fragment嵌套Fragment + PullToRefreshListView 最好不要用LinerLayout 用FrameLayout
布局高度用match_parent 否则布局显示不正常
PullToRefreshScrollView+RecyclerView显示不全的问题:在RecyclerView父布局添加
android:descendantFocusability="blocksDescendants"
5、android-解决 Android N 上 报错:android.os.FileUriExposedException
http://www.cnblogs.com/yongdaimi/p/6067319.html
6、解决安卓7.0拍照,相册选择崩溃的问题(包括压缩图片在内)
http://blog.csdn.net/caohuicong/article/details/76154948