44 lines
1.2 KiB
Java
44 lines
1.2 KiB
Java
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 extends View> 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<String> list = new ArrayList<>();
|
|
for (String permission : permissions) {
|
|
if (checkSelfPermission(permission) == PERMISSION_DENIED) {
|
|
list.add(permission);
|
|
}
|
|
}
|
|
return list.toArray(new String[list.size()]);
|
|
}
|
|
|
|
}
|