package com.example.arial.mvvm.permission; import android.Manifest; import android.os.Bundle; import android.view.View; import android.widget.Button; import com.arialyy.frame.core.AbsFragment; import com.arialyy.frame.permission.OnPermissionCallback; import com.arialyy.frame.permission.PermissionManager; import com.arialyy.frame.util.show.T; import com.example.arial.mvvm.R; import com.example.arial.mvvm.databinding.FragmentTestBinding; import java.util.Arrays; import butterknife.InjectView; /** * Created by lyy on 2016/4/11. */ public class PermissionFragment extends AbsFragment<FragmentTestBinding> implements View.OnClickListener, OnPermissionCallback { @InjectView(R.id.permission) Button mBt; @InjectView(R.id.alert_window) Button mAlert; @InjectView(R.id.write_setting) Button mSetting; public static PermissionFragment newInstance() { Bundle args = new Bundle(); PermissionFragment fragment = new PermissionFragment(); fragment.setArguments(args); return fragment; } @Override protected void init(Bundle savedInstanceState) { mBt.setOnClickListener(this); mAlert.setOnClickListener(this); mSetting.setOnClickListener(this); } @Override protected void onDelayLoad() { } @Override protected int setLayoutId() { return R.layout.fragment_test; } @Override protected void dataCallback(int result, Object obj) { } @Override public void onClick(View v) { switch (v.getId()) { case R.id.permission: PermissionManager.getInstance().requestPermission(PermissionFragment.this, this, Manifest.permission.READ_EXTERNAL_STORAGE); break; case R.id.alert_window: PermissionManager.getInstance().requestAlertWindowPermission(mActivity, this); break; case R.id.write_setting: PermissionManager.getInstance().requestWriteSettingPermission(mActivity, this); break; } } @Override public void onSuccess(String... permissions) { T.showShort(getContext(), "权限" + Arrays.toString(permissions) + " 申请成功"); } @Override public void onFail(String... permissions) { T.showShort(getContext(), "权限" + Arrays.toString(permissions) + " 申请失败"); } }