I’ve never done anything like that, but I guess it will be necessary to edit the apk file.
You know (sure yes) how can I edit it?
Thanks again!
Decompile the APK and edit the Manifest. There are several tools to do that.
It’s not a big deal …
Ok, I’ll look for an application to try to do that.
(Edit: Can these recompiled apk files generate a problem when you upload them to the Play Store? I mean, can it be considered a bad practice?)
Thanks for your help! Greetings.
Instead of “hard” removing it from Manifest, you can ask the user to accept it
Use the following block to do so:
Why doing it, even if you don’t need it?
- Editing the manifest by brute-force is not a good idea, as sometimes the app can lose the signature and some stores may reject it. You can sign it again, but I don’t really like editing things by decompiling
- It’s the most common permissions. Users won’t get surprised if an app with just a button asks for it, so don’t worry about asking for it; it is not the camera permission, for example
In your case, I would ask for it rather than editing the manifest. It seems easier, as you would have to edit the manifest every single time you compile the app
Ok, I understand what you say, and it also seems the most correct, but the app already asks for permission. The error message appears when the permission is not accepted.
From that moment the error appears on each screen.
Use the when Screen1. Error Ocurred
to handle it
You will avoid it from getting displayed to users
Well, that seems interesting, but somewhat advanced for my knowledge. I can’t think of adding to
when Screen1. Error occurred
I’ll try to do it, but I’m sure I’ll have to come back here for help
This is the block I’m talking about:
Find it in the Screen event blocks
Yes, I found it, but I don’t know how to tell the application to ignore that error and not to appear again
Go Diego, that’s really spectacular. I would never have done it myself. Thank you!
Por cierto Diego, aprovecho para comentarte en español (si quieres luego lo elimino) ¿No sería más fácil cobrar por el uso de la aplicación que todo ese complicado sistema que tenéis con la publicidad? Creo que cualquiera estaría dispuesto a pagar una cuota mensual por este servicio.
Woudln’t it be easier to charge for Kodular usages instead of using the commission system? I believe anyone would be willing to pay a montly fee for its service
No creas, ya que
- Está demostrado que en el momento que comienzas a cobrar por algo, ya sea una cantidad muy baja y muy razonable por algo, la gente lo ve con más recelo y busca alternativas
- No es tan justo, ya que gente que no gana nada y gente que gana cientos de euros estaría pagando lo mismo
- A la hora de declarar impuestos es más difícil, ya que habría que darse de alta en todos los países para operar, y hacer declaraciones más extensa. Con el sistema actual recibimos dinero de unas empresas localizadas el mismo país y es más sencillo
Don’t think so, because
- It has been demonstrated that when you start charging money, even if it’s a low and fair quantity, people don’t really like it and start searching for alternatives
- It is not fair, as people that don’t earn anything and people earning thousands of euros would be paying the same
- When paying taxes things become harder. We would have to register in every country to operate, and make tax reports more detailed. With our current system we just get money from companies in the same country
Ok. Lo entiendo. Espero que vaya bien en esa dirección. A mi me parce una herramienta excepcional
Okey, got it. I hope everything goes fine that way. For me, it is an amazing tool
lo secundo, aunque no me importa los mensajes, pero es mas formal
Well, I reopen this thread to comment, in case it can help, that the component that was causing the READ_EXTERNAL_STORAGE error was not ColinTreeListView extension but the Webviewer component.
I do not know if it is common, nor do I have an explanation for it, but when I delete this component from my app, it no longer requests permission and therefore the error is not produced.
Now I am looking for a way to use this component, if possible, without needing permission (if anyone has an idea I would be grateful).
If it were not possible I will use the blocks that Diego kindly explained to me in previous answers, although it is not enough to ignore the error. It is necessary to accept the permission so that there are no subsequent errors in the application.
Maybe I can do this last for myself
As I said “… we need to know all components and extensions that are used.”
But ColinTreeListView extension needs READ_EXTERNAL_STOARGE permission, I checked it. See also here: ColinTreeListView/ColinTreeListView.java at master · OpenSourceAIX/ColinTreeListView · GitHub
And, as I said, remove the permission from the Manifest. I did that probably more than 1000 times with no issues at all.
PS:
My reason for this was / is that I want to read / write files from / in an app-specific directory, which according to Google does not require any permissions. The Kodular components (as well as many extensions) falsely enforce this query even with an app-specific directory. So I had to do that with extensions and ask the developers to remove the runtime query.
“Also starting in API level 19, this permission is not required to read/write files in your application-specific directories returned by Context.getExternalFilesDir(String)
and Context.getExternalCacheDir()
.”
https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE
I have created a small overview of this topic:
Thank you. I will consider also the Manifesto change, although this is somewhat advanced for me. Greetings.