I am thinking of building a new tab page for chrome which works for both desktop and mobile devices. I know that the chrome extensions do not work for mobile devices but the mobile app can be integrated with other apps on the mobile device as found here. Hence, I was thinking whether an android app can be used as a workaround which overrides the new tab page. Is this possible? If yes, how?
What you want is not possible if the Google chrome does not provide you an API for that. It is because all the Android applications are prepared to be as a single app package that can't know anything about other apps but the things the OS (Android) provides to them. For example, you can query the OS to know what apps can answer to a question (Intent) like: "Who can open an email?".
Imagine what would happen if what you want could be possible. I am an attacker that for some reason wants to inject a behavior in another app. This app can't have the control of what it is doing anymore and we can inject, bypass permissions or whatever, without the user agreement.
However, some kind of modifications of this type can be done by adding some files in a rooted device. Anyway, this is a complex situation and something that cannot suit your needs.
Related
On windows we have different hooks, by which we are able to interact with any running programs. for example one can get a running apps handle and then change some its properties, etc .
I want to know if similar functionality is present in android systems.
for example one can get a running apps handle and then change some its properties, etc .
Yes, malware authors think that this facility is great.
I want to know if similar functionality is present in android systems.
No, for blindingly obvious security reasons. On rooted devices, something like the Xposed Framework offers some of this sort of thing.
does android allows for browser plugins
No. Neither does Windows, macOS, or Linux. Web browsers can allow for browser plugins. The exact details of how one implements a browser plugin will vary by browser and OS.
can apps communicate with a specific plugin in a browser
That would vary by browser. My guess is that the answer is "no", but you would need to contact the developers of your browser of interest for confirmation.
Each app in Android OS run in it's own sandbox.
You cannot change behaviour of any other app.
You can only communicate with other apps if they have
the feature to do so, like when you want to share
something in the app, then a lot of sharing app opens.
Like facebook, whatsapp, twitter etc.
Beacause they are intended to do so. With the Deep Linking we can
make out app to be connected with other app.
Are there any default apps on Android? Especially in 4.2?
iOS 6 has Passbook, built-in Facebook/Twitter support, allowing for greater integration into these services.
Is there something similar on Android that can reliably be accessed across all devices running the latest Android OS version?
I know that there are Android apps that can read the Passbook file, but they're not Google products the way Passbook is an iOS product. Similarly, I know that there are Facebook and Twitter Android apps, but they may or may not be installed and may or may not respond to an Intent that's possibly structured differently between versions of those apps. Am I just doomed to deal with this fragmented space, building for the past and hoping it won't break in the future?
Yes, all Android developers are doomed to this fate. Most Android devices come with things like GMail, Google Calendar, and so on, but Android is fully open, which means not all devices have to include these (and in fact, have gotten in trouble for including them in the past).
Here are some things to keep in mind, though (in 99.999%+ of cases):
The Google Play store will always be installed on the device (assuming that's where you publish your app).
Either the browser or some form of it (Chrome, Dolphin, etc.) will be installed on the device.
And some other tips for developing for compatibility:
I would suggest you read up on intent filters; basically, when someone makes an app like, say, Twitter, they register it for a "share" intent filter. That way, when some app (maybe yours?) requests the user to "share" something, Twitter is shown as an option to share with.
I hate to make a bullet point entirely out of links, but you should read up on Receiving Content from Other Apps, Sending Content to Other Apps, and Sending the User to Another App. These are all key ideas in core Android that will apply to your situation.
Those aside, I have one final note: Assume nothing. Assume everything will break. Whenever you call an intent, you should be wary and catch any issues (such as ActivityNotFoundExceptions).
I work at a large company that is looking at building apps for internal use only (iPhone/iPad). We are looking for a SIMPLE way of creating apps that essentially are just a web browser with a predefined URL and no address bar/tabs, etc. Essentially a very dumbed down browser with a custom logo. What is the easiest way to accomplish this?
We would obviously be distributing these oursevlves and they wouldn't be available in the App Store, so app guidelines aren't an issue. We are on Windows boxes and are Java/Web developers so we'd rather not get into too much C sharp if at all possible, fyi. Basically it'd be nice if the tool (if one exists), were to allow us to give it a URL, an icon image, and it builds the app from there.
And while we are starting out with Apple devices, we need to be cross platform compliant with whatever tools we use because I can imagine the day when they decide to buy Android or WindowsPhone devices later on.
MobiOne? PhoneGap? Appcelerator Titanium SDK? Can either of these do what we need? Something else?
A big 'No' for MobiOne. I bought it for 99 dollars. As they advertised, I was able to create a static app within hours. But that's pretty much what MobiOne can do. The moment you start using html, javascript or even audio, all sorts of problem seem to creep up. And there is no support in their forums either. My basic question about using the audio player remains unanswered for a month now.
Here is the worst part:
The tool has a poorly built emulator. Often times, my app worked fine in the emulator but failed to run when deployed to a real device. And at times, i have seen the vice versa too.
Since then, I switched over to PhoneGap(which is free). It took me 2 days to just set my environment right. But once I had the environment setup, it took only minutes to deploy my app in to a virtual device.
Looking at your requirement, I would say that your safe bet is PhoneGap.
I don't have a working knowledge in Titanium but I read in a lot of forums that it supports less platforms when compared to PhoneGap. Titanium seems to give a more native feel to the app but that also means you cannot port it to multiple platforms without changing the code.
Apple may reject your app if all it does is wrap a web site in a WebView. You need to have more functionality in your app than just loading a web page.
From the app review guidelines for iOS:
2.12 Apps that are not very useful, are simply web sites bundled as apps, or do not provide any lasting entertainment value may be rejected
You would need to add additional screens to the app like an about page and a contact us page in order for your app not to be rejected.
As you say you know JavaScript, look into appcelerator.com it allows you to build cross platform apps and only writing your code once.
I would re-evaluate your reason for wanting to create these projects as an app in the first place. What app functionality do you want that you don't have now with your web page? You didn't mention anything in your question that would indicate this needs to be an app.
On Apple devices, you could create an icon that points to a web site. You could define the pages in a way that hides the address bar. Lastly, the web pages could easily be cross-platform already.
Wrapping this into an app would just possibly complicate the process. You may need to deploy updated app code to the device, where a refresh in a browser works just as well.
I want to deploy an Android app in a similar fashion as the Wireless, Over-The-Air method that exists for iOS devices. That is, setup a web page and the user clicks a link from his device that includes the manifest (xml) file, containing information on how to download the app. This works well on iOS devices, and I thought Android may have something similar.
How do I go about this?
Thank you for any help.
Please the comments above. Have the correct MIME settings, link to the apk, and make sure unknown sources is checked on the device to allow non-market apps.
Since you seem to imply an app market / store is not involved in the iOS case, it seems you might be talking about an offline-cacheable "web app" rather than a native iOS application.
The android equivalent is: on devices where the offline web app capability exists, just visit the same web page (referencing an html5 manifest with appropriate mime type, etc) you are using for iOS. Perhaps you will ultimately end up with platform-specific refinements, but the basic idea is portable.
Or perhaps you just mean that a desktop/laptop need not be used to open obtain the app. On Android, that has been the case since day 1 - the primary market client is on the device, with over-the-air install. You can send an android device to the market with a market:// url. The ability to trigger an install from a web browser running on something other than the device is a more recent and still secondary capability on android.
Finally, android does offer the ability to side load native applications, something that has no iOS equivalent outside of jailbreaking or having a developer account. Most of the responses seem to concentrate on this, but it's not clear if that is what you are actually asking for.
We will be developing a free tool for our existing customers. I have no experience with iPhone and Android but as far as I'm aware you can't just put a file online and add a download link to it.
I'm wondering what are the best options to deliver this application to our customers? Should we just place it in App Store and Android Market (even though it might confuse the people who stumble upon the app and have no idea what or who it's for)?
I'm also aware of Apple's Enterprise Program. I'm not sure how it works technically but it sounds like it can be distributed from local network only, or am I wrong? The app should be obtainable online.
Is it possible to put app in App Store/Market without making it searchable & browseable in the app list of the Store/Market but accessible via direct link only?
Thank you for any suggestions.
For iPhone you need to use the iOS Enterprise Program to create your private market as long as the devices are not jailbreaked.
For Android you can distribute the installation file (.apk file) over your website. You have to tell the users to check the option "Install apps from unknown sources" (look here) in their preferences.
It really sounds like a "mobile web app" is what you're looking for.
There are several toolkits for styling web pages to look and act like an iPhone/Android app.
The user simply navigates to your site, and you can detect if they're browsing from a mobile device and render the page(s) based on that or redirect them to device specific sites.
Users can bookmark your site to create an icon on their home screen.
If your app doesn't depend on a remote connection, you can also just do everything in Javascript and the user can use your app offline.