Android market hiding apps with bluetooth permissions from Android 1.5 and 1.6

by Jonas Petersson » Wed, 14 Jul 2010 03:17:23 GMT


Sponsored Links
 

So Bluetooth is not necessary to benefit from using your app but those whose phones support it can reap the additional Bluetooth benefits that you so thoughtfully added, is that it?. Since your app is still valuable even without Bluetooth functionality, people with pre-2.0 phones should not be prohibited from purchasing it, right? Well, you make a good point.
IMHO, the above case is very similar to the enhancement request I added almost 6 months ago: http://code.google.com/p/android/issues/detail?id=6266 Some permissions are non-critical for the application and it should be possible to flag them as such and then let the application find out whether it was given or not and adjust accordingly. So far only 51 people seem to have agreed with me, so either I'm wrong or most people have not realized why this would be significant enhancement. Best / Jonas --



Android market hiding apps with bluetooth permissions from Android 1.5 and 1.6

by Jonas Petersson » Wed, 14 Jul 2010 17:26:23 GMT


 

I can see why Google wouldn't want to complicate the permissions for a user. I am not suggesting they let the user choose which permissions to allow. An obvious issue with doing that is that users could "break" your app by crippling the permissions, and then complain it doesn't work and give you a bad rating on the market. That is really a separate topic/argument.
I think you misunderstood what I asked for: what I'm after is that the DEVELOPER should have the ability to flag a particular permission as optional. Market can use this for filtering - in your case an optional BlueTooth permission would allow users with no bluetooth library (theoretically 1.x) to install the application. For a user who installs it on a device WITH bluetooth, the normal installation warning screen would allow that option to be deselected. The application will have to check whether it actually got the optional permission - if it doesnt it deserves a bad rating. Although this is not exactly your problem at the moment it certainly is closely related. IMHO.
Any way back to my issue: Apps are (or were) filtered from the market based on screen size and android version. They were not filtered based on permissions.
I wouldn't place any bets on that one. I'm pretty sure that for instance the Barcode Scanner program is filtered out for devices that lack auto focus for instance. This may not exactly be permissions, but rather a device profile (I've noted that new/prerelease phones often see a lot less of the apps on Market), but exactly how it works may be something that we really shouldn't know too many details of since I would expect it to change (hopefully improve) over time.
It seems some confusion has crept in. When i say in my app is android:minSdkVersion="3" - i mean it :) The bluetooth permissions have been around since the start, they are nothing new. This is obviously a mistake recently introduced on the Android Market. Anyone coding a bluetooth app should have made it backwards compatible (as mine was) OR have set their minSdkVersion="5"
Well, the good old Bluetooth File Transfer app seems to work. I've not got a 1.6 device handy, but the one installed on my Milestone has target sdk set to 4 and it asks for BT admin plus create BT connections.
Ok, I clicked the star and added my support.
Excellent! Anyone else? Best / Jonas --


Sponsored Links


Android market hiding apps with bluetooth permissions from Android 1.5 and 1.6

by Dianne Hackborn » Thu, 15 Jul 2010 03:42:04 GMT


 arket does not filtering based on permission.  There is no need to follow
that line of thought (and it is no argument for wanting the feature that was
brought up here).

The aapt tool is starting to infer features based on permissions, to prevent
old applications from being delivered on devices that can now lack features
they may have depended on. Some discussion of this can be found here:
http://android-developers.blogspot.com/2010/06/future-proofing-your-app.html

There may be an issue with Market mistakenly thinking that a bluetooth
permission implies the need for the bluetooth feature even on pre-2.0
devices, when it really should start with 2.0 where the feature was
introduced. At any rate, the correct thing for an app developer to do is
explicitly state which features they care about, and you can there use
android:required="false" to tell Market not to filter your app based on it.

On Wed, Jul 14, 2010 at 2:26 AM, Jonas Petersson <jonas.peters...@xms.se>wrote:

>



Android market hiding apps with bluetooth permissions from Android 1.5 and 1.6

by Dianne Hackborn » Thu, 15 Jul 2010 06:38:37 GMT


 We are not having optional permissions any time soon.

And no, these are not the same thing, permissions are about security and the
other tags are about compatibility.

And hey...  "5 new stars in the last 24 hours..."  You've been telling
people to star this bug because you associated it with a completely
different issue that already has a solution.  I might be kind-of dumb to
make engineering decisions based on stars. :}






>



Android market hiding apps with bluetooth permissions from Android 1.5 and 1.6

by Samuel Lawson » Thu, 15 Jul 2010 18:59:29 GMT


 Why don't you just set your target sdk higher?



>



Android market hiding apps with bluetooth permissions from Android 1.5 and 1.6

by Samuel Lawson » Thu, 15 Jul 2010 22:09:13 GMT


 When you compile you won't be able to use any APIs introduced after
your target SDK.

It won't prevent your app from appearing on earlier devices, that's
purely down to the your minimum SDK chosen.

Of course make sure you test on the the minimum SDK you define - to
check your app behavior and check you haven't used any APIs that were
introduced in later versions.




>



Android market hiding apps with bluetooth permissions from Android 1.5 and 1.6

by Samuel Lawson » Thu, 15 Jul 2010 22:18:46 GMT


Other Threads

1. Timing an ASyncTask

Hi all.

I'm running a network service within an ASyncTask. I want to be able
to time the task, and after a certain period of time interrupt it.

Is there a simple way to do this? Basically, when the doInBackground()
methods starts, I want to say "If it hasn't completed in 30 seconds,
do something else".

Thanks.

-- 

2. Strange V4L2 Camera Issue

I'm trying to port a USB camera. Almost there but coming across a
weird issue.. Im getting two pinkish green preview panels on one half,
and the rest is static green. No idea what's causing this.

Here is a screenshot: http://i54.tinypic.com/eu0zg8.png

In camera hardware, pixel format is set to V4L2_PIX_FMT_SBGGR8,
resolution 640x480 and p.setPreviewFormat("yuv422sp");

Im not sure if any of that have to do with it.. Any idea what could be
causing this?

Here is my v4l-info when i attach to pc

$ v4l-info

### v4l2 device info [/dev/video0] ###
general info
    VIDIOC_QUERYCAP
driver                  : "sn9c102"
card                    : "SN9C1xx PC Camera"
bus_info                : "usb-0000:00:1a.1-1"
version                 : 1.1.47
capabilities            : 0x5000001
[VIDEO_CAPTURE,READWRITE,STREAMING]

standards

inputs
    VIDIOC_ENUMINPUT(0)
index                   : 0
name                    : "Camera"
type                    : CAMERA
audioset                : 0
tuner                   : 0
std                     : 0x0 []
status                  : 0x0 []

video capture
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
index                   : 0
type                    : VIDEO_CAPTURE
flags                   : 0
description             : "bayer rgb"
pixelformat             : 0x31384142 [BA81]
    VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
index                   : 1
type                    : VIDEO_CAPTURE
flags                   : 1
description             : "JPEG"
pixelformat             : 0x4745504a [JPEG]
    VIDIOC_G_FMT(VIDEO_CAPTURE)
type                    : VIDEO_CAPTURE
fmt.pix.width           : 640
fmt.pix.height          : 480
fmt.pix.pixelformat     : 0x31384142 [BA81]
fmt.pix.field           : NONE
fmt.pix.bytesperline    : 640
fmt.pix.sizeimage       : 307200
fmt.pix.colorspace      : SRGB
fmt.pix.priv            : 8


-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: 

3. Porting Android 2.1 to a small device with 1.4" 160x160 screen

4. When to add child views to a compound control?

5. How to programatically refresh Gallery View?

6. How to add a unique label on the OverlayItems?

7. Significance of underlining the word currently typed on an EditText box