Comments (5)
I saw the problem is with "WRITE_EXTERNAL_STORAGE" permission.
The same code works with "RECORD_AUDIO" permission.
This is the manifest file:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
I do not know if it helps for knowing why dialog is not shown.
from permissionutils.
Can you post the complete implementation?
from permissionutils.
I have this Activity:
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import java.util.ArrayList;
import rebus.permissionutils.AskAgainCallback;
import rebus.permissionutils.FullCallback;
import rebus.permissionutils.PermissionEnum;
import rebus.permissionutils.PermissionManager;
public class PermissionCheckerActivity extends BaseActivity implements FullCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_permission_checker);
int[] ids = getIntent().getIntArrayExtra("permissions");
PermissionEnum[] permissions = new PermissionEnum[ids.length];
for (int i = 0; i < ids.length; i++) {
permissions[i] = PermissionEnum.values()[ids[i]];
}
PermissionManager.Builder()
.permission(permissions)
.askAgain(true)
.askAgainCallback(new AskAgainCallback() {
@Override
public void showRequestPermission(AskAgainCallback.UserResponse response) {
showDialog(response);
}
})
.callback(new FullCallback() {
@Override
public void result(ArrayList<PermissionEnum> permissionsGranted, ArrayList<PermissionEnum> permissionsDenied, ArrayList<PermissionEnum> permissionsDeniedForever, ArrayList<PermissionEnum> permissionsAsked) {
finish();
}
})
.ask(this);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
PermissionManager.handleResult(this, requestCode, permissions, grantResults);
}
@Override
public void result(ArrayList<PermissionEnum> permissionsGranted, ArrayList<PermissionEnum> permissionsDenied, ArrayList<PermissionEnum> permissionsDeniedForever, ArrayList<PermissionEnum> permissionsAsked) {
}
private void showDialog(final AskAgainCallback.UserResponse response) {
new AlertDialog.Builder(this)
.setTitle("Permission needed")
.setMessage("This app really need to use this permission, you wont to authorize it?")
.setPositiveButton("OK", (dialogInterface, i) -> response.result(true))
.setNegativeButton("NOT NOW", (dialogInterface, i) -> response.result(false))
.show();
}
}
I call it with this code:
Intent intent = new Intent(context, PermissionCheckerActivity.class);
int[] permissionsIDs = new int[permissions.length];
for (int i = 0; i < permissionsIDs.length; i++) {
permissionsIDs[i] = permissions[i].ordinal();
}
intent.putExtra("permissions", permissionsIDs);
launcher.launchActivity(intent);
This is the interface for launchActivity:
private interface ActivityLauncher {
void launchActivity(Intent intent);
}
LaunchActivity just does this:
activity.startActivityForResult(intent, requestCode)
from permissionutils.
I guess the problem was there:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
I removed "andoid:maxSdkVersion" attribute and it works.
from permissionutils.
OK perfect
from permissionutils.
Related Issues (14)
- Support library 26.0.2 HOT 2
- Can reqeust only one set of permissions at a time
- permissionGranted is always false if deniedForever and then enabled from settings
- When fragment deny permissions automatic finish current fragment
- PermissionUtls.isGranted() is not correct when you forbid permission in system settings HOT 1
- Read me error
- FullCallback not triggered for denied and denied for ever HOT 6
- Missing Permissions in Enum List HOT 1
- fragment? HOT 5
- can init the request using Fragment(in support library) HOT 3
- direct call to result() when starting from GooglePlay (just after install) HOT 1
- How to Proceed HOT 2
- Leak in PermissionManager instance HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from permissionutils.