My Titanium app is not requesting permission to make a phone call. I have the following XML in my manifest tag of tiapp.xml:
<uses-feature android:name="android.permission.CALL_PHONE" android:required="false"/>
This is my JavaScript code:
var permissionsToRequest = [];
var callPhonePermission = "android.permission.CALL_PHONE";
var hasCallPhonePermission = Titanium.Android.hasPermission(callPhonePermission);
if (!hasCallPhonePermission) {
permissionsToRequest.push(callPhonePermission);
}
if (permissionsToRequest.length > 0) {
Titanium.Android.requestPermissions(permissionsToRequest, function(e) {
if (e.success) {
Ti.API.info("SUCCESS");
} else {
Ti.API.info("ERROR: " + e.error);
}
});
}
This is what I am seeing in the logcat when I hook up my phone to a computer running Android Studio:
ERROR: Permission(s) denied: android.permission.CALL_PHONE
Any ideas about what I may be doing wrong?
You have to use
<uses-permission android:name="android.permission.CALL_PHONE" />
in your tiapp.xml. It is a permission not a feature.A full example that works for me:
There is no need to check the permission first before requesting it. If you have it already it will go to the success branch right away.