01-24-2013 07:59 AM
My recording App is recording media,but even after installing it gives a popup regarding a media application is trying to record media.could anyone tell how can i disable that popup from coming up when my app is running.
01-24-2013 08:25 AM
01-24-2013 11:21 PM
public static void Permissions()
{
ApplicationPermissionsManager apm=ApplicationPermissionsManager.getInstance();
ApplicationPermissions ap= apm.getApplicationPermissions();
apm.addReasonProvider(ApplicationDescriptor.curren tApplicationDescriptor(), new ReasonProvider()
{
public String getMessage(int i)
{
String msg="This app needs some help from ur memory";
switch(i)
{
case ApplicationPermissions.PERMISSION_DEVICE_SETTINGS:
msg="This app needs to look into your default setings";
break;
case ApplicationPermissions.PERMISSION_AUTHENTICATOR_AP I:
msg="This app needs to look into your default setings";
break;
case ApplicationPermissions.PERMISSION_APPLICATION_MANA GEMENT:
msg="This app needs to look into your default setings";
break;
case ApplicationPermissions.PERMISSION_MEDIA:
msg="This app needs to look into your default setings";
break;
case ApplicationPermissions.PERMISSION_RECORDING:
msg="This app needs to look into your default setings";
break;
case ApplicationPermissions.PERMISSION_PHONE:
msg="This app needs to look into your default setings";
break;
case ApplicationPermissions.PERMISSION_SERVER_NETWORK:
msg="This app needs to look into your default setings";
break;
}
return msg;
}
});
boolean permissionsOk = false;
if (
ap.getPermission(ApplicationPermissions.PERMISSION _DEVICE_SETTINGS) ==
ApplicationPermissions.VALUE_ALLOW
&&
ap.getPermission(ApplicationPermissions.PERMISSION _SERVER_NETWORK) ==
ApplicationPermissions.VALUE_ALLOW
&&
ap.getPermission(ApplicationPermissions.PERMISSION _PHONE) ==
ApplicationPermissions.VALUE_ALLOW
&&
ap.getPermission(ApplicationPermissions.PERMISSION _RECORDING) ==
ApplicationPermissions.VALUE_ALLOW
&&
ap.getPermission(ApplicationPermissions.PERMISSION _MEDIA) ==
ApplicationPermissions.VALUE_ALLOW
&&
ap.getPermission(ApplicationPermissions.PERMISSION _APPLICATION_MANAGEMENT) ==
ApplicationPermissions.VALUE_ALLOW
&&
ap.getPermission(ApplicationPermissions.PERMISSION _AUTHENTICATOR_API) ==
ApplicationPermissions.VALUE_ALLOW
)
{
permissionsOk = true;
}
else {
// Create a permission request for each of the permissions your application
// needs. Note that you do not want to list all of the possible permission
// values since that provides little value for the application or the user.
// Please only request the permissions needed for your application.
ApplicationPermissions permRequest = new ApplicationPermissions();
permRequest.addPermission(ApplicationPermissions.P ERMISSION_SERVER_NETWORK);
permRequest.addPermission(ApplicationPermissions.P ERMISSION_DEVICE_SETTINGS);
permRequest.addPermission(ApplicationPermissions.P ERMISSION_PHONE);
permRequest.addPermission(ApplicationPermissions.P ERMISSION_MEDIA);
permRequest.addPermission(ApplicationPermissions.P ERMISSION_APPLICATION_MANAGEMENT);
permRequest.addPermission(ApplicationPermissions.P ERMISSION_AUTHENTICATOR_API);
permRequest.addPermission(ApplicationPermissions.P ERMISSION_RECORDING);
permRequest.addPermission(ApplicationPermissions.P ERMISSION_DEVICE_SETTINGS);
permissionsOk = apm.invokePermissionsRequest(permRequest);
}
if (permissionsOk)
{
}
else {
// exit
System.exit(0);
}
}
This is how i am managing permissions.But still after installing my application,a dialog box appears asking me a recording app is trying to record media.I dont want this dialog box to appear.thanks
01-25-2013 04:26 AM
If you need only one Recording permission then add only PERMISSION_RECORDING to your app. Remove unneccesary permissions from your app. Try this code:
private void requestApplicationPermissions() {
// Set permissions for the application
try{
ApplicationPermissions ap1 = ApplicationPermissionsManager.getInstance().getApp licationPermissions();
ApplicationPermissions ap2 = new ApplicationPermissions();
boolean needPermission=false;
if(ap1.getPermission(ApplicationPermissions.PERMIS SION_PHONE)!=ApplicationPermissions.VALUE_ALLOW ){
needPermission=true;
ap2.addPermission(ApplicationPermissions.PERMISSIO N_PHONE);
}
if(ap1.getPermission(ApplicationPermissions.PERMIS SION_INPUT_SIMULATION)!=ApplicationPermissions.VAL UE_ALLOW ){
needPermission=true;
ap2.addPermission(ApplicationPermissions.PERMISSIO N_INPUT_SIMULATION);
ap2.addPermission(ApplicationPermissions.PERMISSIO N_IDLE_TIMER);
ap2.addPermission(ApplicationPermissions.PERMISSIO N_DEVICE_SETTINGS);
}
if(needPermission){
Dialog.inform("Please save the permissions manually");
boolean permission=ApplicationPermissionsManager.getInstan ce().invokePermissionsRequest(ap2);
if(!permission){
Status.show("Application is exiting",3000);
myApp.exitApplication();
}
}
}catch(Exception e){
System.out.println("Exception while setting permissions"+e);
}
}