package cn.flightfeather.thirdappmodule.activity; import android.Manifest; import android.annotation.SuppressLint; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Build; import android.os.Handler; import android.os.Message; import android.support.annotation.NonNull; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import cn.flightfeather.thirdappmodule.R; import cn.flightfeather.thirdappmodule.common.database.DbFactory; import cn.flightfeather.thirdappmodule.CommonApplication; import cn.flightfeather.thirdappmodule.task.InitDataTask; public class SplashActivity extends AppCompatActivity { //权限相关 private boolean hasDeniedPermisson = false; private final int REQUSET_PERMISSIONS = 50; private final String[] permissonLIst = { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CALL_PHONE}; private CommonApplication application; public static final int SHOW_ERROR = 1; public static final int START_LOGIN = 2; @SuppressLint("HandlerLeak") private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case SHOW_ERROR: showNetErrorDialog(); break; case START_LOGIN: startLogin(); break; } } }; protected int getLayoutId() { return R.layout.activity_splash; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getLayoutId()); application = (CommonApplication) getApplication(); showPermissionDialog(); } private void showPermissionDialog(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(permissonLIst,REQUSET_PERMISSIONS); } } // private void showNetErrorDialog(){ AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle("连接失败"); dialog.setMessage("请检查网络并退出重试"); dialog.setCancelable(false); dialog.setPositiveButton("退出", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { finish(); } }); dialog.show(); } protected void startLogin(){ Intent intent = new Intent(SplashActivity.this,LoginActivity.class); startActivity(intent); Thread thread = new Thread(new Runnable(){ public void run(){ try { Thread.sleep(500); finish(); } catch (InterruptedException e) { e.printStackTrace(); } } }); thread.start(); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); switch (requestCode){ case REQUSET_PERMISSIONS: for (int i = 0;i= 9) { localIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS"); localIntent.setData(Uri.fromParts("package", context.getPackageName(), null)); } else if (Build.VERSION.SDK_INT <= 8) { localIntent.setAction(Intent.ACTION_VIEW); localIntent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails"); localIntent.putExtra("com.android.settings.ApplicationPkgName", context.getPackageName()); } return localIntent; } }