I am new to android development and Kotlin. I am trying to implement a feature that takes a screenshot when there is an issue in the application and uploads the screenshot to a server.
I am currently writing a function that uses DrawingCache and saves the view to a bitmap image. Other than this approach, is there a better way to do this? I was wondering whether there is a way to use the Android OS level screenshot capturing mechanism for this?
No. You should only have a screen of your own views, and not other apps nor system status bar. If that is possible, it is a security issue with Android and Google should forbid it.
I'm currently working on a Android photo management app. I would like to have "Instagramm like" photo filters. But actually Android can do it much better itself with the pre-installed Photo App.
See here:
The App on the right hand side is the one I'm referring to:
I already had a look at the developer guides but nothing is described there.
http://developer.android.com/reference/android/content/Intent.html
In general: How can I make use of those filters without implementing them on myself and without forcing the user to switch between apps.
Does anyone have any hints for me?
Thanks in advance.
I'm developing a photo manipulation app and am wondering if there is a way to have something come up for my app after the user takes an image of a picture (by somehow changing the camera app). Another example of something like what I want to do would be something like changing the calender app to also put in a location and use GPS to find directions to that location. Is there a way to do this? If so how?
As I understand from your question, you want your app to appear when the user takes a photo using the native camera app. Although that's possible (not saying it's easy), a better solution would be to launch the camera intent from YOUR app (or display what the camera sees in a SurfaceView), and use it as you wish. You wouldn't want to change the default behavior of built-in apps in the system, and users will thank you for not doing so.
There are countless tutorials out there that teaches you how to make use of built-in apps' functionalities for your own. As an example, here's an SO thread that teaches how to use the built-in camera to take a picture, and use the resulting data in your app.
If you want direction of a location, you need to use Google Maps API (or similar), not GPS. To put stuff into Google Calendar, look at their API as well.
I don't know if you can change the app itself, but you can definitely integrate your application with another android applications. There are several examples that can show you how to acess the camera app to take a picture and return this picture to your app for manipulation, or accessing a picture from your gallery (take a look in Intent class, and you can use it with startActivityonResult, and on onActivityResult, inside your activity, you manipulate the picture).
Hope that helps
We have a website that offers an e-mail service. We would like to create a fully fledged app for this but cannot afford this right now. In the mean time it would be great if we could give users an icon on their phones that will take them to a page formatted for mobile on the internet. So what I'd like to know is how can we get an icon on an android users phone that will simply launch a web link in a browser- does this have to be an app, is there an easier way, or am I over estimating how complicated it would be to make this as an app anyway?
Thanks in advance
Create a new Android project (after following the SDK installation steps provided at http://developer.android.com)
on the directory /res/drawable-*dpi you have the laucher icons. Modify all of them.
In the main activity, delete all inside the onCreate method an put this:
String url = "http://www.YOUR-URL.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
This will open the android browser with the URL provided.
I have done projects like this in the past, it is very simple. You need to create a website formatted for a smaller screen. Once you do this, building an android app that displays your website inside it is simple. You can even remove all of the android browser toolbars so it appears as if your website is a real android application. Google android webviews, this will point you in the right direction.
See here for what's probably the best instruction page on how to do exactly that:
http://intelnav.50webs.com/app_project.html
It's based on a Webview, that is it opens the page and does all the navigation in the app window, not in the default browser. So if you want to open it in the browser, you have to use Intent, as said in previous answers.
My 2 pennies worth, I think it's better in the app window unless you really want complex navigation with the possibility of opening additional tabs, windows and so on. The drawback with the external browser is that, as far as I could see, there's no way to tell if the page is already open in the browser so you'll launch a different copy (in a new tab) every time. If the user doesn't close the tab at the end, they usually don't, it can become quite annoying. Besides, within an app you'll probably have somewhat better possibilities for ads should you ever want them.
Versus a simple home-screen bookmark, as others pointed out, it's simpler and more convenient for end users to just download an app from an online store (usually Google Play). It's what they're used to do. And they do have a lot of additional info available, like what it does, what others say about it, screen shots (if you provide some for them but you should). Plus a way to comment / complain themselves. It's a different thing. Technically it may not make a lot of sense but from a simple user's perspective it's clearly better IMO.
One way is to bookmark the site and then add it to your home screen. Source
It seems to me like you need a mobile version of your web page. Do you have that already? Once you have your mobile website (ie. website optimized for mobile devices), you could create a simple application with only one WebView. All content would be fetched from your site and displayed inside a webview. This is trivial to make, however, making an entire mobile website will take some time.
Note that you do not HAVE TO have a mobile website, you could pack you existing website into a WebView, but this would lower user experience.
you would build an app that launches a browser intent linking to your website, or a custom WebView to launch your website in full screen without any navigation bar etc..
The only easier way is to put instructions on your site (directly, or as a contextual pop-up) on how to add the bookmark as an icon on your home screen. This can be slightly more complicated on Android, and depends on the browser. A simpler option for your potential users is to provide a wrapper app via the Marketplace.
It is not overly complicated to create a simple wrapper Android app in Java that launches the browser, using Intents. The essential browser launch code is basically this:
Uri uriUrl = Uri.parse("http://www.yourwebpage.com");
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
startActivity(launchBrowser);
A more detailed tutorial for creating this is available here:
http://mobile.tutsplus.com/tutorials/android/launch-android-browser/
Try this kick-start mobile device app for showing websites. Written with cordova for platforms like android, ios, browser and so on: https://github.com/jetedonner/ch.kimhauser.cordova.kickstartwebsite (GooglePlay: https://play.google.com/store/apps/details?id=ch.kimhauser.cordova.kickstartwebsite, Website: http://kimhauser.ch/index.php/projects/cordova-phonegap/kick-start-website)
I've been tasked with writing an iphone application that displays a set of images (think powerpoint slideshow). The content of these images need to be protected from forwarding
this task seems quite simple with one exception - I'd like to prevent the user from taking a screenshot
it's not like i'm protecting the crown jewels here, so I'm not looking for military grade super ninja protection.
thoughts?
If the user has the Android SDK, they can take a screenshot. There is nothing you can do to stop it.
OTOH, without the Android SDK, there is no way to take a screenshot in Android.