1
嗨,我有从API 18到API 22工作正常的应用程序。 对于新的Android API 23我试图设置一个检查权限,我已设置在清单上。我正在使用德克斯特图书馆。现在,我希望启用权限的对话框设置显示在我的启动画面之前,并且当我点击对话框权限时的“确定”,应用程序保持打开状态并显示我的介绍视图和主视图之后。 我已经设置了这个代码,在启动画面运行期间工作,当我设置好启用权限应用程序关闭,而不是保持打开状态。 这是我闪屏和德克斯特库代码:Android 6.0设置权限befor初始屏幕
public class SplashScreen extends Activity {
//Set waktu lama splashscreen
private static int splashInterval = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Fabric.with(this, new Answers());
Dexter.initialize(getApplicationContext());
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.splash_fragment);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
View v = findViewById(android.R.id.content);
if (ActivityCompat.checkSelfPermission(getApplicationContext(),
android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager
.PERMISSION_GRANTED && ActivityCompat
.checkSelfPermission(getApplicationContext(),
android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager
.PERMISSION_GRANTED) {
MultiplePermissionsListener snackbarMultiplePermissionsListener =
SnackbarOnAnyDeniedMultiplePermissionsListener.Builder
.with((ViewGroup) v.getRootView(),"")
.withOpenSettingsButton("Settings")
.withCallback(new Snackbar.Callback() {
@Override
public void onShown(Snackbar snackbar) {
// Event handler for when the given Snackbar has been dismissed
}
@Override
public void onDismissed(Snackbar snackbar, int event) {
// Event handler for when the given Snackbar is visible
}
})
.build();
Dexter.checkPermissions(snackbarMultiplePermissionsListener, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.GET_ACCOUNTS);
return;
}
Intent i = new Intent(SplashScreen.this, MainActivity.class);
startActivity(i);
//jeda selesai Splashscreen
this.finish();
}
private void finish() {
// TODO Auto-generated method stub
}
}, splashInterval);
};
}
我该怎么让启动画面前,该对话框的设置,并保持开放的应用程序单击OK启用权限后?
感谢
你有任何解决方案。如果是,请发布 –