package com.llf.common; import android.Manifest; import android.content.DialogInterface; import android.os.Handler; import android.support.annotation.NonNull; import com.llf.basemodel.base.BaseActivity; import java.util.List; import pub.devrel.easypermissions.AppSettingsDialog; import pub.devrel.easypermissions.EasyPermissions; /** * Created by llf on 2017/5/5. * 欢迎页 */ public class WelcomeActivity extends BaseActivity implements EasyPermissions.PermissionCallbacks { public static final int PERMITTION = 100; @Override protected int getLayoutId() { return R.layout.activity_welcome; } @Override protected void initView() { /** * 6.0系统动态权限申请需要 */ String[] params = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE}; if (EasyPermissions.hasPermissions(WelcomeActivity.this, params)) { skip(); } else { EasyPermissions.requestPermissions(WelcomeActivity.this, "应用需要权限才能安全运行", PERMITTION, params); } } private void skip() { new Handler().postDelayed(new Runnable() { public void run() { startThenKill(MainActivity.class); WelcomeActivity.this.overridePendingTransition(R.anim.scale_in, R.anim.shrink_out); } }, 1000 * 2); } @Override public void onPermissionsGranted(int requestCode, List<String> perms) { skip(); } @Override public void onPermissionsDenied(int requestCode, List<String> perms) { switch (requestCode) { case PERMITTION: //引导用户跳转到设置界面 new AppSettingsDialog.Builder(WelcomeActivity.this, "希望您通过权限") .setTitle("权限设置") .setPositiveButton("设置") .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { finish(); } }) .setRequestCode(PERMITTION) .build() .show(); break; } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this); } }