美文网首页
BaseActivity

BaseActivity

作者: azu_test | 来源:发表于2021-04-12 17:49 被阅读0次
    import android.Manifest;
    import android.content.pm.PackageManager;
    import android.os.Build;
    import android.os.Bundle;
    import android.text.TextUtils;
    import android.view.View;
    import android.widget.Toast;
    
    import androidx.annotation.Nullable;
    import androidx.appcompat.app.AppCompatActivity;
    
    public abstract class BaseActivity extends AppCompatActivity implements View.OnClickListener{
        private String TAG = BaseActivity.class.getSimpleName();
        private int REQUEST_CODE = 1234;
        private String[] permissions = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
                Manifest.permission.READ_EXTERNAL_STORAGE,
                Manifest.permission.ACCESS_FINE_LOCATION,
                Manifest.permission.ACCESS_COARSE_LOCATION,
                Manifest.permission.INTERNET,
                Manifest.permission.ACCESS_WIFI_STATE,
                Manifest.permission.CHANGE_WIFI_STATE,
                Manifest.permission.ACCESS_NETWORK_STATE,
                Manifest.permission.CHANGE_NETWORK_STATE,
                Manifest.permission.READ_PHONE_STATE,
                Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
                Manifest.permission.WRITE_EXTERNAL_STORAGE};
    
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
                    && checkSelfPermission(permissions[0]) != PackageManager.PERMISSION_GRANTED
                    && checkSelfPermission(permissions[1]) != PackageManager.PERMISSION_GRANTED) {
                requestPermission();
            }
            setContentView(getLayoutId());
        }
    
        public abstract int getLayoutId();
    
    
        private void requestPermission() {
            requestPermission(permissions);
        }
    
        protected void  requestPermission(String[] permissions) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                requestPermissions(permissions, REQUEST_CODE);
            }
        }
    
        protected void initViewsWithClick(int...viewIds) {
            for (int viewId : viewIds){
                (getView(viewId)).setOnClickListener(this);
            }
        }
    
        @Override
        public void onClick(View v) {
            onViewClick(v);
        }
    
    
        protected void  showToast(String msg) {
            if (TextUtils.isEmpty(msg)) {
                return;
            }
            Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
        }
    
    
        protected  <T extends View> T getView(int viewId) {
            return (T) findViewById(viewId);
        }
    
        public abstract void  onViewClick(View view);
    
    }
    

    相关文章

      网友评论

          本文标题:BaseActivity

          本文链接:https://www.haomeiwen.com/subject/wgwxlltx.html