Am trying to deploy an apk file from a webserver (IIS6), I have the mime type configured correctly and all is working when the folder allows anonymous access. However, I would like to force a challenge/response for the download of the .apk. Even with clear text authentication set on the folder and/or .apk file, no mobile device is being challenged for access to the file and because of this fails to d/l the file. When trying to access the file from a desktop browser I get challenged as expected. Is this capability not supported in the Android OS? Have been trying this with different 2.x Android versions but not ICS as of yet on both tablets and phones.
M
Related
On Android versions higher than v4.4 (since storage framework was introduced) opening the local memory filesystem in a web browser via file:///sdcard does not show all the files and folders.
For example, I can access the file:///sdcard/Download folder by typing the URL but some files and folders are not shown or some folders cannot be navigated to.
Tried with different browsers, including Firefox, Chrome, Chromium, Brave and Opera, and even though I've given all the apps the Files and media permission this is observable for all of them. Files downloaded by a specific browser would be visible from that browser, but not other files that have been placed there by other apps.
The question is how to grant full file access to /sdcard or a specific subfolder from outside the app since not all browsers mentioned above can trigger the on-demand storage permission dialog. Opera is the only which allows doing it from within the app when saving a file to a custom path — then it triggers the on-demand permission dialog and after that the chosen folder becomes fully readable through the file:// protocol.
The preferred solution would be via adb with pm or something similar.
While something like appops might allegedly be used to achieve the desired goal as per this article (didn't work for me), an easier workaround is to use the App Manager (f-droid) and enable in the App Ops tab the following permissions for your browser app:
MANAGE_EXTERNAL_STORAGE
LEGACY_STORAGE
NO_ISOLATED_STORAGE
After applying these actions for Brave, Chrome, and Chromium started displaying all files.
NOTE: Only tried on a rooted device. Since I have no unrooted devices at hand I cannot tell if this would also work on stock Android.
I'm using the Google Drive SDK for Android, with the Drive.SCOPE_FILE scope. I install the app on multiple devices.
The app saves files onto drive. I can add files from either device, and the files show up in the web interface for drive, exactly like you'd expect.
Each device can only access the files it created, and not the files created by the same app on another device. (And vice versa, for the files created on the second device, and not seen on the first.)
I know the File Scope only allows access to files created by the app (and files specifically chosen via the file chooser), but I had assumed that the app would be able to load files created by the app, even when installed on multiple devices.
Is this the expected behavior?
The same user/app pair should have access to the same files on any device. There may be some propagation delay after opening an existing file with the app.
I would like to have a link on web page where from mobile device I can click and Android .apk application will install (like on the Play Market). I know that in order to reach this functionality for iOS I need to have an .ipa file and a .plist XML. What do I have to do in case of Android app?
upd: I found this topic apk installation from web page but apk only downloads to filesystem and user has to manually install it. I would like to installation process start automatically :(
I am trying to create an HTML5 Application that is able to access a large amount of files. Therefore I looked at the FileSystem API to be able to read files from local filesystem.
I did a PoC using phonegap File API, and all worked as expected, I was able to produce similar results using the FileSystem API on Chrome Desktop...
However I am faced with a serious issue, while I can access my filesystem in Desktop, I can't access sdcard from Android Chrome. I tried to use this demo:
http://html5-demos.appspot.com/static/filesystem/filer.js/demos/index.html
I can select files from my local system in desktop: My Pictures, etc... But I can't do the same with Android Chrome
How can i access the device filesystem /sdcard in Android Chrome?
From this article on HTML5 Rocks:
It's important to remember that this file system is sandboxed, meaning one web app cannot access another app's files. This also means you cannot read/write files to an arbitrary folder on the user's hard drive (for example My Pictures, My Documents, etc.).
The FileSystem API was designed to allow your app to create and manipulate files which will persist between usages of your application. It cannot be used to expose arbitrary files from outside of it's sandbox.
Alternatively, the File API can be used to read, though not modify, files from the entire system. However, File API cannot be used to read arbitrary files on the system. It's usage is based on HTMLs <input type=file> tag, where the user must explicitly input the File to be read.
The above applies to an app running in Android Chrome the same as it does to Desktop Chrome, so you're out of luck unless the user is willing to use the input to grant access to the files you desire. However, you mentioned you also attempted a PoC using PhoneGap. The PhoneGap File API, though mostly acting as a wrapper around the HTML5 implementation, has some subtle differences, mainly in that it does allow for access to arbitrary files on the SD card. When using the API call window.requestFileSystem(), your success callback will have one argument, a FileSystem object, where the root property is a reference to the /sdcard folder. This can be used to traverse your sdcard and create FileReaders and FileWriters anywhere within.
Im currently in the process of byuilding an app with phonegap on android.
I Prepared a "spoof app " with tests of some functionnalities i wanted to try before starting to develop fully.
I built my app and signed it so i may install it on my phone with the apk.
The problem is , my app works fine but i cant find the file system of the app in any of the devices i tested the app on. I wanted to retrieve the SQLite database or a file i created but i cant because i cant find the filesystem of the app in the device.
Is there anyway other than rooting the device to see my app in the phone filesystem when plugged with usb?
Or is there any way i can retrieve easily the databases my app created on the phone?
EDIT: my devices dont have SDCARDS and doesnt support SDCARDS either.
PROBLEM SOLVED
Since i found out that i would have to root the phone or the tablet to acess the filesystem i review my app functionnalities and i found out i could create a foler on the phone with phonegap , but still i couldnt see it.
I then opened the DDMS perspective in eclipse and looked throught the filesystem and found out that the folders i saw in my phone were in the mnt folder, in the sdcard directory. (mnt/sdcard)
I then used the filesystem acess of phonegap to create a directory on my phone.
fileSystem.root.getDirectory("**/mnt/sdcard/com.seventest.com**",{create:true, exclusive: false},gotDir,fails);
So now i can access a directory and push anything in it i need to access for my app to work with.