package com.stardust.scriptdroid; import android.os.Build; import android.support.v7.app.AppCompatActivity; import android.view.View; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; import static android.content.pm.PackageManager.PERMISSION_DENIED; /** * Created by Stardust on 2017/1/23. */ public class BaseActivity extends AppCompatActivity { @SuppressWarnings("unchecked") public T $(int resId) { return (T) findViewById(resId); } protected void checkPermission(String... permissions) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { String[] requestPermissions = getRequestPermissions(permissions); if (requestPermissions.length > 0) requestPermissions(requestPermissions, 0); } } private String[] getRequestPermissions(String[] permissions) { List list = new ArrayList<>(); for (String permission : permissions) { if (checkSelfPermission(permission) == PERMISSION_DENIED) { list.add(permission); } } return list.toArray(new String[list.size()]); } }