A few weeks ago I developped an Android app for my company. The app can be downloaded by our customers on the company's website.
It's an offline app, but the user needs to download all the datas at first use.
Me and my team went through a few tests on the office's wifi, with different devices (Samsung, Huawei, ...) running on different Android version (4.3 to 5.0)
At first use, the user logs in and a loading screen appears, saying that the datas for first use are being downloaded, and it could take time. However, this information is false as it only takes a few seconds
I have a lot of negative feedback from our customers saying that they are blocked at this "first use" loading screen. They can login but the download of the datas for the first use doesn't work. However, they were able to download the app easily, so their internet connection is working. Also, the login function also needs an internet connection, and it works.
I had one of the customer on the phone, I told him to reinstall the app. He did it a few times and it finally worked.
An other customer gave me his device after trying to reinstall the app a few times. I installed the app from my office and it worked perfectly.
It seems like the app doesn't work on some wifi.
I'm using Volley to make the request to download the datas, a message should be displayed if the device is not connected to the internet, but it doesn't show (it does if I stop the device's wifi). It seems like the app detects the network but has no internet connection, and only in a few cases (as it works in our office)
Could someone help me ?
What could possibly be wrong in my app ? How can I debug the situation ?
Related
Hello there long time reader of Stack Overflow but first time poster,
I am a bit new to android development but we decided to build a Xamarin.Forms app which consumes our ASP.NET REST service. When running the app on an emulator on my computer, connected via ethernet, I am able to connect to the service. However, when running on a tablet or phone that is connected on our work wifi, the connection just hangs and times out.
Interesting enough, when the device is switched to mobile data it can connect to the endpoints again, and iPhones can connect to the endpoints on mobile data or wifi.
I'm curious what I'm missing here. Please let me know what you think or additional information I should include.
While this thread has been opened for some time, we have found our problem resolved: it was a mixture of our network support changing some settings on our routers (though I can unfortunately not remember what settings) and also our tablets do a system update.
I am not sure which of these factors was the cause of our success now but the issue is done. I just wanted to post this in case anyone else ran into something similar.
I have (had) a Nexus device and lost it while backpacking in Europe. One year later, I've been able to see it online at the Google Device Manager, near southern Italy.
Despite me trying (and failing) to contact the owners of the Hostel, I've been unable to get the device erased or returned to me. For the past several months the device has been powered on and active.
My goal is to write an application, deploy it to the app store, and use my Google Play account (connected to the device) to download the app as I could do in the screen below.
I want the app to either
Erases the device
Locks the screen with a "Reward" message
An audio message
Something else?
.. the issue is that the user might not "permit" certain supervision activity if the OS requires it. (Device Administrator for example)
Question
What can I do on a 4.x Nexus, not requiring additional interactive permissions, after I send an app from the app store, to accomplish the goal of notifying the user (in Italian) or erasing sensitive material?
I have a custom business application that is being used on about ten android phones. The server which serves the application is not mapped on a domain, but it is accessible directly with IP address. And everything is working fine for 3 or so months.
Now, one of the company decides to get a bigger phone - Alcatel One Touch 5020x. I set up the application and everything was working fine - the application was able to read and post data to the web service. But, I was testing it while on WiFi. They need to use it with mobile data, because people work on remote terrain.
When we switched to mobile data, application was unable to reach the server and this error is thrown: "The connection was refused by the host!"
Switching back to WiFi, everything is working fine.
A different phone on the same network doesn't have this problem - it is just this phone. What can be the problem?
Please help, I contacted the network's technical support, but they will need couple of days to respond.
Thanks!
Well, since domains are cheap, I decided to go the easy way and bought a .info domain which costs 3$ per year. I had to open my web app on port 80, since the same error occurs if I have port number in the URI (http://domain.info:9999 for example throws same exception).
I hope this helps someone in the future :)
Someone stole my phone last night in a matter of a few minutes. A friend mentioned the Android app "Plan B" which can be remotely installed from the Google website. My question is regarding the actual state of being installed.
After clicking 'Install', it reports the app as 'Installed', but I'm assuming this is not a true state of things as it took only a page load to report it as installed. The question is:
After clicking install on the Google Play website, if the phone is off or otherwise unavailable, will it still report the app as installed?
Also, going in to 'My Orders' from the cogwheel in the top-right corner, it shows the app install status as 'Complete'. Again, I don't know if these are real or assumed statuses.
The easy way to answer these questions is to turn off your phone, install any app from the Google Play website, and check to see if the app is marked as both "installed" and "complete" under the order area.
I just tested this situation with my Nexus 4. I placed my Nexus 4 into the airplane mode (which has zero connectivity) and when to the playstore websited and install a random app. It said "Installed".
I then turned airplane mode off and then the new app instantly started installing as soon as my device connected to wifi.
Most android phones keep a very tight connection to the playstore. So as soon as the phone is turn on and connected to the Internet, it should auto-install right away. The only issue I can think of is that if your change your playstore settings to not autoupdate. Do you know if you enable that setting?
tldr;
Yes it lies to you. But As soon as the device is online and has internet connection it technically should install.
I am trying to install an application as a standalone apk (not in Android Market place) by placing the signed apk package on the SD card and then clicking it to install it.
The application installs fine and I start it however it will always crash unless the PC cable is connected to the phone in which case it works fine!
It is frustrating for me, I know it must be trying to save or access something on the PC or have a setting on the phone that needs changing.
I am sorry if this is a rather simple question, but I just do not know what I am doing wrong.
Any help with this would be much appreciated.
EDIT (More Information):
The application is a messaging application using a specific message protocol that has a background service that has a socket that listens for messages arriving and the application UI will listen to message events raised and also send messages by connecting to this service running.
The application does save details about the person who is logged in and the messages that have been received and uses GPS for navigation.
Specifically the application will always crash whenever the usb cable is NOT CONNECTED to the phone. I cannot get past the login screen which would start the background service and save the person who is logging in.
As for logcat output, well this is a release application and it works fine when I have been previously been debugging it from eclipse.
However now I am trying to create a release build to give to clients.
This is a snippet that I know will execute when I try and login however without the cable attached the application just crashes.
// Start the background connection to the server now the user is logged in
startService(new Intent(this, ConnectorBackgroundService.class));
// If there is a user that has been logged in otherwise load from settings
if (user == null) {
user = loadUserFromSettings();
}
// Write the login to file to allow automatic login if the application is restarted
repository.saveLoggedInUser(user);
Have you removed dobug mode from manifest?
Thanks anyone who spent time looking at this problem.
It was because I had an event which watched for the device being unplugged and plugged in because it stopped GPS the application was using when on battery to conserve battery.
As I was always testing the device when it was plugged in via USB, I never noticed that it was calling bad code when I unplugged the lead causing a null reference exception.
I guess I was always thinking that it was trying to communicate with the debugger or something which was why it was not working properly.
This site will finally allow me to put my own answer in.