mavlink / MAVSDK-Java

MAVSDK client for Java.
68 stars 40 forks source link

importQgroundcontrolMission(filePathString) does not recognise Android Filepath #103

Open ThomasCarstens opened 1 year ago

ThomasCarstens commented 1 year ago

I am building a mavsdk-enabled Android app with QGC running on my pc. The .plan file is stored on the /data/ folder of my Android device and I wish to load it as a mission with mavsdk.

Using importQgroundcontrolMission(), Java throws an error with a failure to parse the file. The file itself can be loaded and run with no problems on QGC... So I suspect a read issue. Is it perhaps that this command cannot read files on non-system Android directories? I cannot find any documentation on this command and what I should put as the path. Thanks for your time.

julianoes commented 1 year ago

Do you have permissions in your app to read the files?

ThomasCarstens commented 1 year ago

Yes, External Storage is configured in the Manifest file. I hope that answers it.

I have some interesting behaviour below but until l know what goes in the path I'm unclear as to why it's occurring.

ThomasCarstens commented 1 year ago

Are you able to reproduce this issue? Thanks

julianoes commented 1 year ago

"/data/user/0/com.myapp.App/cache/path.plan"

Is this external storage? I guess not. But do you have access to the cache? I guess by default you would...

I'm sorry I'm not usually developing on Android, so if you want me to reproduce it, I'd need a minimal example that I could load and try out.

JonasVautherin commented 1 year ago

Sounds like an Android permission issue (i.e. unrelated to MAVSDK itself). Are you sure your project is setup correctly and you app has access to this file on the device?