com.android.camera replaced by com.motorola.camera

by Mark Murphy » Fri, 01 Jan 2010 10:46:01 GMT


Sponsored Links
 otobjects wrote:

Magic 8-Ball.

("Do I need an extra on this Intent?" "Signs point to no")

:-)


It's one starting point, to be certain.

In this case, it's using a standard action (ACTION_VIEW) and a
reasonable-looking MIME type. One would hope that there will be 1+
applications on the device that support viewing that MIME type. As it
turns out, there are 2+ in Android proper, as the OP reported that the
Browser handled the request, probably based on scheme.

You'll note that ACTION_VIEW of video/mpeg is not documented in the SDK
anywhere, at least that I can find. This means that it is possible that
a given device may have 0 apps that can support it, if some future
Android edition modifies or drops the intent filter, or if some OEM
messes around too much. That's the reason for my "tell the client there
is no default video player" answer from earlier today, because,
technically, there *isn't* a default video player, at least not one
that's part of the SDK contract.


That depends a bit on what you want to do and how you want to do it.

Given an Intent, you can use methods on PackageManager to figure out if
there is anything that would satisfy that Intent. So, if the feature is
optional, you could use that to disable a menu choice or button or
something, so the user couldn't attempt to use something that would fail.

Similarly, you can use createChooser() to deal with the case of 2+ apps
thinking they can handle the Intent (e.g., email or GMail or SMS or
Twidroid for an ACTION_SEND of text/plain).

If, however, the feature is mandatory (i.e., your app can't run without
it), you're better served trying to handle it yourself, at least as a
fallback option. For example, the OP could implement a simple video
player using VideoView and only resort to using it on devices that fail
to offer anything that can ACTION_VIEW a video/mpeg.

Where things get icky is if there is some device or app that does
"support" ACTION_VIEW of a video/mpeg URL, but its support is broken
somehow. This is not significantly different than a desktop OS video
player not necessarily having the right codecs to play back such-and-so
video content, and there's no great answer for that case, either.

Intents and MIME types are not significantly different concepts from
their equivalents in desktop OSes. We think that Android should know how
to play video because we see our desktops able to play video from a URL.
However, at the same time, those of us who don't use Windows much are
used to the notion that certain things can't readily be viewed (e.g.,
link to a Microsoft Access database), MIME type or not. Just as savvy
developers try to make their desktop or Web applications deal with
varying end user support for different MIME types, so should Android
developers.

Now, it would be really cool if Google stepped up and declared a more
extensive list of Intent actions and Uri/MIME types that all Android
devices should support. That would go a long way towards clearing up the
sorts of issues the OP encountered. Right now, there's only a half-dozen
in the list, and none are based on MIME type:

http://developer.android.com/guide/appendix/g-app-intents.html

--
Mark Murphy (a Commons Guy)
http://commonsware.com | http://twitter.com/commonsguy

_The Busy Coder's Guide to Android Development_ Version 2.8
Available!

--



Other Threads

1. Change of Model Name

Hi,

I want to change the "Model Name" (Settings -> About phone)
dynamically.
For example. "Model Name" has to be changed while Bluetooth ON.

I used SystemProperties.set(key,value) method, which doesn't change
the value.
Even if I change the value using File IO operation, it changes after
reboot of the mobile phone.
Actually I changed the value inside "system/build.prop" file for
acquiring this.

Is there any other way to get this without rebooting?

Thanks in Advance.

Regards,
PKS

-- 

2. Cara Root SGS - DXJPE

Dear RR,

mau tanya cara root Samsung SGS I9000 dengan FW DXJPE bagaimana yah ? Sudah
coba Z4Root, tidak bisa (memang ternyata tidak bisa setelah coba cari2
info).

Lalu coba SuperOneClick v1.5.3 (katanya sih di beberapa link bisa), tapi
diam di proses installing superuser.apk.

Mohon pencerahannya...
Thx

-- 
Rgds,

Petra Immanuel

-- 
===============
"

3. Huawei Ideos + AHA

4. Android on x86

5. Segregating touch events in an activity?

6. Android Layout Editor for 'Honeycomb (Preview)' issue with color values: Exception thrown in Eclipse.

7. AsyncTask in Honeycomb