I have to build an app for both android and ios. Among other things, the app provides cloud storage. Now, for ios I have implemented NSFileProviderExtension without providing a ui (basically letting the system handle it), and I can access and manage the cloud by entering the files app, selecting my app and then doing whatever needs to be done.
Now, I searched far and wide for an equivalent for this on android. I have a samsung phone, and when I enter the files app, under the cloud section I can see samsung cloud drive, google drive etc. , and I can manage files there just like I can in my app. But I have no idea what kind of provider I need to implement to achieve this. I have implemented DocumentsProvider, as it seemed to be the most likely candidate, but that doesn't appear in the files app.
I had the same question. My document provider is available in the stock Google "Files" file manager, and all non Samsung apps showing the system file picker but not in "My Files" on Samsung Galaxy phones.
The easiest way to check if your Document Manager working is to attach a file to Gmail (surely on an Android device with your provider installed).
So, hey Samsung! We need you adhering to the Android SAF too a.s.a.p.!
Related
I've got an app in Google Play, as well as on Amazon Appstore, Huawei Marketplace, Samsung Apps and one more e-shop in China.
It's a puzzle game. Regularly, I implement new types of puzzles. Each time, I then have to make them available to the users by creating new version of the app and publishing it to those 5 shops.
Implementation of a single puzzle consists of 2 Java classes, a binary file and a few pngs (icons).
I am thinking that maybe it would be possible to write my app in a way so that it could instead download such 'puzzle modules' from my server? The apk would then need to be able to download executable Java code from Internet and somehow 'adjoin' it as a module to itself. Is that possible?
it is possibile, but it is also restricted in some stores, in Google Play for shure. (also possible on iOS, also restricted in App Store)
this is just very unsafe letting developers adding some executable code without store reviews and informing users, so policies are forbidding it
I would like to write an application which can programatically generate touch events on the phone.
I have already tried this methods:
adb : adb swipe and so on... It requires USB cable and connect the phone to pc
adb ON TCPIP: same
My problem with adb is to require so much presetting by user and I don't want to make the user to learn it. I have already made an application which use adb, but it's difficult for the user to set up properly :(
I have heard and I tried to sign my application with platform sign, but it's not good for me, because I would like to publish my app on android market and it is not a system application...
I would like to find a way to achieve this in a single application which can produce touch outside of the app (from background) and I would like to publish on market.
I have found this application: https://play.google.com/store/apps/details?id=com.teamviewer.quicksupport.samsung which can basically do this. Because when I click on my computer, it send a message to the phone and the phone make the touch on the screen. How and with what privileges can teamviewer do it?
Please give me some advice about it.
I would like to find a way to achieve this in a single application which can produce touch outside of the app (from background) and I would like to publish on market.
This is not possible, outside of what little input faking can be done by an accessibility service.
How and with what privileges can teamviewer do it?
If your read that Play Store listing, you will notice that it only works with Samsung devices. That is because the makers of TeamViewer struck a deal with Samsung to enable this sort of integration. Similarly, the TeamViewer team struck deals with a few other device manufacturers. However, they did not do so with all manufacturers, and so TeamViewer does not work on all devices.
Have a look here .This might be useful.
InputInjector
Android library that eases the process of injecting InputEvents (MotionEvent, KeyEvent) to you Android app. The library uses internal API calls to inject events and depend on the accessability of these. This library will therefore not work on all devices but theoretically support Android 2.3 and forward (API level 9-18+).
Androd 2.3 (API level 9-15)
In older versions of Android we envoke the same system calls as used by the Instrumentation framework.
Permission No special permission needs to be set.
Androd 4.1.2 (API level 16 and forward)
As of API level 16 we have access to the InputManager class. We use this as the basis for the input injection.
Permission Using InputManager for injection requires setting permission android.permission.INJECT_EVENTS in your manifest.
Using this permission may require altering Lint Error Checking in order to be able to compile. In Eclipse this is done by going to Window->Preferences->Android->Lint Error Checking and then finding ProtectedPermissions and setting severity to something else than error.
NOTE: In order to inject events to other apps using InputManager, your apk must be signed with system level certificate.
https://github.com/arnebp/android-inputinjector
how to make invisible my android app to everyone from google play store.
only specific peoples can download it through link given or any other procedure.
mean is everyone can't find app on play store by just search app name.
Or tell me any other solution close to it.
Withing Google play you can use Alpha and Beta testers to restrict the distribution of your app.
You can define a list of users. They will be the only able to get the app. Once done you update your app in google play, wait few hours and then google play will generate a link. You just have to send this link to your users and they can install the app.
This is the summary of the Google documentation ( in better english than mine )
You don't need a production APK to publish an alpha/beta app.
Users need a Google Account (#gmail.com) or a Google Apps account to join a test.
If you're testing an existing app that you've published before, only users in your test group will receive an update for your alpha/beta version. If you're testing a new app that you haven't published before, only users in your test group can find and download your app.
After publishing an alpha/beta APK for the first time, it may take a few hours for your test link to be available to testers. If you publish additional changes, they may take several hours to be available for testers.
You have the full documentation here.
If you dont explicitly need it on the play store, TestFairy is a very powerful tool. I use it to distribute to selected people until I'm ready to share it with the world.
The API is very simple and informative.
You can also build and upload versions directly from Android Studio.
Currently my app is created in Eclipse using GWT and Coded in Java. I have the app hosted on app-engine and all my data is saved in the browser using html5 storage. I want to have this app installable on an iPhone so I included "\<\meta name="apple-mobile-web-app-capable" content="yes" />\ " in my html file, and even included a custom icon etc for the iPhone.
Upon installing the app on my iPhone, everything works fine online but offline the app won't even load. I've been reading about manifests and yaml's but I cant get a clear picture of how to set my app up mobile, and have it save data locally on the phone (app cache).
Please help!
You need to start reading about HTML offline apps for iPhone. There are a lot of resources about this on the net, for example this and this.
mgwt - mobile GWT has a HTML5 Manifest Linker, see: http://code.google.com/p/mgwt/wiki/HTML5Manifest
This can be easily used to store your app locally.
Also stake a look at the mgwt settings class: http://code.google.com/p/mgwt/source/browse/src/main/java/com/googlecode/mgwt/ui/client/MGWTSettings.java
There you can find all the properties described in the tutorials Peter Knego described.
We are developing a mobile web application which user's can reach via their mobile phones' browser. (It's not a mobile phone application, it's a web site for mobile phones) .
We want to get (upload) pictures directly from user's telephone's camera. How we can control user's camera ? I know it's not possible for mobile web site. But for example can we use Java for this? Or can we develop small plugins for mobile phones and trigger it, when user click on Capture a Photo link ?
Can you give any advices us please? Thanks !
(except this answer on this question :
can users take pictures and videos before and then select the file via
a browser dialog (if that is supported by mobile browsers) and select
those files to be uploaded)
Q&A's from comments :
1) Well what phone operating systems are you targeting? iOS, for example, has no ability to run Java.
Actually, we are targetting all OS.
iOS has no ability to access the camera from a website. You cannot load Java on iOS at all, either.
Android had the ability to access the camera from HTML demoed a while back, but I can't find anyplace noting that it actually made it into a release.
Blackberry as far as I know also has no such ability to access the camera from a website.
If you wish to use Java, you can develop an actual app for Android or Blackberry. iOS apps are written in Objective C.
However, using PhoneGap you can write an app in HTML5 & Javascript and it will create a native iOS (for 3GS or later) or Android app capable of accessing the camera.