Android Activity 常用技巧

true
true
@android:color/transparent
@null

setTheme(R.style.Theme_Transparent);

android:theme="@style/Theme.Transparent"

2.如何安全退出已调用多个 Activity 的 Application?

3.显示和隐藏输入法

private void showKeyboard() {
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(mUrlText, InputMethodManager.SHOW_IMPLICIT);
}

private void hideKeyboard() {
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(mUrlText.getWindowToken(), 0);
}

4. Android 6.0以上动态检测请求权限

//检查权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED
         || ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_CODE);
}

5. Android 获取相册图片

Intent innerIntent = new Intent();
if (Build.VERSION.SDK_INT <= build.version_codes.kitkat)="" {="" innerintent.setaction(intent.action_get_content);="" }="" else="" innerintent.setaction(intent.action_open_document);="" innerintent.settype("image="" *");="" intent="" wrapperintent="Intent.createChooser(innerIntent," "选择图片");="" this.startactivityforresult(wrapperintent,="" request_code);




public String uri2FilePath(Uri uri) {
        String path = "";
        if (Build.VERSION.SDK_INT >= 19 && DocumentsContract.isDocumentUri(this, uri)) {
            String wholeID = DocumentsContract.getDocumentId(uri);
            String id = wholeID.split(":")[1];
            String[] column = { MediaStore.Images.Media.DATA };
            String sel = MediaStore.Images.Media._ID + "=?";
            Cursor cursor = getContentResolver().query(
                    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, column, sel,
                    new String[] { id }, null);
            if (cursor != null) {
                int columnIndex = cursor.getColumnIndex(column[0]);
                if (cursor.moveToFirst()) {
                    path = cursor.getString(columnIndex);
                }
                cursor.close();
            }
        } else {
            String[] projection = { MediaStore.Images.Media.DATA };
            Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
            if (cursor != null) {
                int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                if (cursor.moveToFirst()) {
                    path = cursor.getString(column_index);
                }
                cursor.close();
            }
        }
        return path;
}

:http://www.linuxidc.com/Linux/2017-05/144190.htm