WAI
Status Update
Comments
sg...@android.com <sg...@android.com> #2
unfortunately, openFileChooser is not a public API. We are working on a public API in future releases of Android.
jc...@gmail.com <jc...@gmail.com> #3
ok :(
[Deleted User] <[Deleted User]> #4
So just to be clear, this feature (the file input element opening the file picker) was intentionally removed from webviews in Android 4.4?
I need to be clear on this because this is going to be a pretty significant problem for any Cordova/Phonegap developer (who might not, at the moment, have experienced this problem because 4.4 is still so new).
Is it going to be removed for Android 4.3 and below?
I need to be clear on this because this is going to be a pretty significant problem for any Cordova/Phonegap developer (who might not, at the moment, have experienced this problem because 4.4 is still so new).
Is it going to be removed for Android 4.3 and below?
mi...@gmail.com <mi...@gmail.com> #5
When will this be added back into Android, and what can we do in the mean time?
Before, people were overridding hidden methods - is there just some new hidden method that we have to override to get it working again?
Before, people were overridding hidden methods - is there just some new hidden method that we have to override to get it working again?
sg...@android.com <sg...@android.com> #6
We are working on a mechanism to support this, maybe as a public API. Unfortunately there is no workaround I know of at the moment. However, if developers have any preference for one of the options below, please let us know:
1. having a WebViewClient style callback to let the app programmatically handle the file input selection
2. having a policy hardcoded into the webview e.g. that just popups the UI automatically when the file input button is pressed
1. having a WebViewClient style callback to let the app programmatically handle the file input selection
2. having a policy hardcoded into the webview e.g. that just popups the UI automatically when the file input button is pressed
jc...@gmail.com <jc...@gmail.com> #7
I think I would preffer option 1.
BTW, I have read that android 4.4 won't include a browser and the device vendors will have to create their own browser usin a webview (or license chrome), that means any browser appart from chrome will have <input type="file"> working.
I've find out that <input type="file"> have a bug on chrome, if you choose documents and then one of the new android 4.4 options ("Recent", "Drive", "Images","Audio", "Downloads", "Internal storage"), it won't be able to pick the file, and the Drive option even make chrome crash
BTW, I have read that android 4.4 won't include a browser and the device vendors will have to create their own browser usin a webview (or license chrome), that means any browser appart from chrome will have <input type="file"> working.
I've find out that <input type="file"> have a bug on chrome, if you choose documents and then one of the new android 4.4 options ("Recent", "Drive", "Images","Audio", "Downloads", "Internal storage"), it won't be able to pick the file, and the Drive option even make chrome crash
ka...@gmail.com <ka...@gmail.com> #8
Great! This new "feature" in 4.4 that is "WorkingAsIntended" will cost us and many other companies a lot of money when we have to give support to all our customers and explain to them that it is no longer possible to upload files in our Android app in which we use WebChromeClient.
Thanks a lot!
Thanks a lot!
jo...@seegno.com <jo...@seegno.com> #9
[Comment deleted]
jp...@gmail.com <jp...@gmail.com> #10
This seems like when Apple decided people using the iPhone didn't really need to upload files through the browser. :p
We've just launched an app 9 days ago, which is now basically useless, and are left to explain to the customer that it's google's fault. :p
We've just launched an app 9 days ago, which is now basically useless, and are left to explain to the customer that it's google's fault. :p
se...@gmail.com <se...@gmail.com> #11
We work with numerous companies with dozens of different apps that make use of this feature. I can't for the life of me understand why such a feature would be removed. It lessens the features available within apps targeting the Android OS which makes phones powered by the Android OS less desirable.
I certainly hope something is worked out to address this as this is a huge loss in functionality. I'd be happy with either option #1 or #2 listed earlier.
I certainly hope something is worked out to address this as this is a huge loss in functionality. I'd be happy with either option #1 or #2 listed earlier.
ga...@gmail.com <ga...@gmail.com> #12
I'm suffering, crying for the same issue after spending hours thinking it was my fault. If there is *no* another option (documented or not), why did you remove it? What's the hell is that answer "working as intended"? Gosh.
Just one more thing, :facepalm:
Just one more thing, :facepalm:
su...@gmail.com <su...@gmail.com> #13
I would also prefer option #1
#12 it is your fault, it's not a public API what is hard to understand about it? Software development 101
#12 it is your fault, it's not a public API what is hard to understand about it? Software development 101
jo...@seegno.com <jo...@seegno.com> #14
[Comment deleted]
ka...@gmail.com <ka...@gmail.com> #15
#12 It is not your fault. openFileChooser may not be in the public API but this function is used in thousands of Android apps and now all these apps is broken. openFileChooser is the ONLY way to open up a file dialog when using the WebChromeClient.
It is a pity that the webview developers couldn't understand this them self.
It is a pity that the webview developers couldn't understand this them self.
jp...@gmail.com <jp...@gmail.com> #16
#13, What is hard to understand is that in this day and age, with all the boom in HTML5 hybrid apps, with Titanium and Phonegap on the market, you remove a basic functionality like uploading a file. It's 2013 guys, this is the sort of thing we should be able to take for granted that it works.
ck...@gmail.com <ck...@gmail.com> #17
I would use option one. It seems to be the cleanest way to handle file-chooser.
ga...@gmail.com <ga...@gmail.com> #18
#13 Just explain how to do a basic freaking standard file upload with the API and I'll happily use it. But there is *no* other way, no alternative... Or, are you suggesting that uploading an image from a mobile is not important and basic feature?
FFS, it's not only an annoyance to programmers, it's almost a betrayal. It s
OTH, even Chrome fails to upload images
http://youtu.be/MzIejKC-7fA
FFS, it's not only an annoyance to programmers, it's almost a betrayal. It s
OTH, even Chrome fails to upload images
jc...@gmail.com <jc...@gmail.com> #19
If you use phonegap isn't very difficult to create a plugin to pick a file
and then upload it with the file transfer and call it with a regular
button.
The native code is almost the same that the existing code on the
openFileChooser, call an intent that will return the file path.
and then upload it with the file transfer and call it with a regular
button.
The native code is almost the same that the existing code on the
openFileChooser, call an intent that will return the file path.
mk...@gmail.com <mk...@gmail.com> #20
You broke file-uploading and released 4.4 without a ready replacement or workaround? O_o
So even if app devs manage to hack around it, they'll have to maintain the hack forever to support phones stuck on 4.4 even after 4.5+ introduces a proper replacement function?
I need a Kitkat bar.
So even if app devs manage to hack around it, they'll have to maintain the hack forever to support phones stuck on 4.4 even after 4.5+ introduces a proper replacement function?
I need a Kitkat bar.
mo...@gmail.com <mo...@gmail.com> #21
Woah,surely Google is working on this issue?? We have a web app in the works that relys heavily on uploading photos via Chrome... Used to work fine until 4.4.
[Deleted User] <[Deleted User]> #22
Even when uploading a file using Gmail's mobile web version on Chrome it fails on 4.4. So Android 4.4 breaks Gmail on Chrome! I don't really care about the API details, but a modern browser MUST support file upload. Dear Android devs and managers, please take your user's feedback seriously and fix this major bug. Thanks.
jc...@gmail.com <jc...@gmail.com> #23
mk...@gmail.com <mk...@gmail.com> #24
FYI, the relevant Chrome bug seems to be http://crbug.com/278640
Looks like it's been fixed for Chrome 33 (9+ weeks away). Not sure if they used what #23 suggested.
Looks like it's been fixed for Chrome 33 (9+ weeks away). Not sure if they used what #23 suggested.
sa...@gmail.com <sa...@gmail.com> #25
#24, comments #29 and #30 from http://crbug.com/278640 are very insightful. At least they seem decided to fix it for webview aswell.
hj...@gmail.com <hj...@gmail.com> #26
Need this fixed too - solution #19 isn't a clean one, from what I understand is being proposed. It would seem the file upload takes place independently of the POST, so:
1. no session information is passed
2. need a mechanism to tie the uploaded file to the ultimate POST with the corresponding data
3. how long do we store the upload file while waiting for the POST that may not come
4. There is even more trouble when using a load-balancer and multiple web servers.
1. no session information is passed
2. need a mechanism to tie the uploaded file to the ultimate POST with the corresponding data
3. how long do we store the upload file while waiting for the POST that may not come
4. There is even more trouble when using a load-balancer and multiple web servers.
jc...@gmail.com <jc...@gmail.com> #27
#26, phonegap's file transfer uses a HTTP multi-part POST request, so you can pass the other form parameters at the same time you upload the file. (you will need a function to pick and add them to the file transfer options)
Here a simple example manually adding form params:
var options = new FileUploadOptions();
var params = {};
params.value1 = "test";
params.value2 = "param";
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURI, encodeURI("http://some.server.com/upload.php "), win, fail, options);
Here a simple example manually adding form params:
var options = new FileUploadOptions();
var params = {};
params.value1 = "test";
params.value2 = "param";
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURI, encodeURI("
cw...@mobile311.com <cw...@mobile311.com> #28
I vote for #2, as it is the simplest method. The web page being viewed should simply "work" without any additional wrapper code. I don't have to intercept events in order to click a hyperlink or a submit button, do I? (I know these events do not interact with the underlying OS the way the file upload does, but the general point stands.)
bl...@gmail.com <bl...@gmail.com> #29
[Comment deleted]
bl...@gmail.com <bl...@gmail.com> #30
[Comment deleted]
hj...@gmail.com <hj...@gmail.com> #31
#27 thanks for the sample. Unfortunately, I'm providing a "raw" app (plain java). Any suggestions/pointers where to look to create the same functionality?
Tnx.
Tnx.
al...@gmail.com <al...@gmail.com> #32
My vote for Option 1 .
Please don't just remove undocumented APIs that are widely used . Even though its not recommended to use Undocumented APIs , most of the apps use hell lot of these APIs to add functionality.
Please don't just remove undocumented APIs that are widely used . Even though its not recommended to use Undocumented APIs , most of the apps use hell lot of these APIs to add functionality.
on...@gmail.com <on...@gmail.com> #33
#6 I vote for a combination of both.
I prefer that by default the webview will automatically pop up a UI to choose a file. However we should be able to override the handler method so that would can provide our own functionality or extend the existing functionality.
example:
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
// here I'm just going to use the default functionality and log it for testing
super.openFileChooser(uploadMsg, acceptType, capture);
Log.e("openFileChooser", "4.1+ - " + acceptType + " - " + capture);
}
I prefer that by default the webview will automatically pop up a UI to choose a file. However we should be able to override the handler method so that would can provide our own functionality or extend the existing functionality.
example:
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
// here I'm just going to use the default functionality and log it for testing
super.openFileChooser(uploadMsg, acceptType, capture);
Log.e("openFileChooser", "4.1+ - " + acceptType + " - " + capture);
}
jn...@gmail.com <jn...@gmail.com> #34
Vote for OPtion 1. Prefer the old undocumented API be documented and supported.
ra...@gmail.com <ra...@gmail.com> #35
Please provide a workaround patch or something in the interim until you get his figured out. This is ridiculous.
tr...@gmail.com <tr...@gmail.com> #36
So many devices updated to 4.4 last night and now the app photo uploader is not working since users cannot select a file. What a HUGE mistake for Android and such a betrayal. "Working as Expected"
Why on earth would you do this to people?
Why on earth would you do this to people?
or...@gmail.com <or...@gmail.com> #37
[Comment deleted]
or...@gmail.com <or...@gmail.com> #38
U need to give us an option to upload files from web apps !!!!
nk...@gmail.com <nk...@gmail.com> #39
[Comment deleted]
nk...@gmail.com <nk...@gmail.com> #40
Agreed. We are in a holding pattern on this. What is the workaround or patch?
ho...@gmail.com <ho...@gmail.com> #41
Issue Status: WorkingAsIntended
This is ridiculous.
This is ridiculous.
em...@gmail.com <em...@gmail.com> #42
Working as Intended... Siriously? what a shame.
si...@gmail.com <si...@gmail.com> #43
Hey all, Let me start off by saying that the following comment relates to Phonegap/Cordova development.
I've been experiencing this issue as well so I wrote a Cordova FileChooser plugin to a "band-aid" for the time being. Basically, in Android 4.4(KitKat), as mentioned in previous comments, the file dialog is not opened. However the onclick event is still fired on <input type=file> so you can call the FileChooser plugin to open a file dialog and upon selection, you can set a variable that contains the full path to the file. At this point, you can use the FileTransfer plugin to upload to your server and hook into the onprogress event to show progress. This plugin is mainly configured for Android 4.4 so I would recommend to continue to use the native file dialogs for earlier versions of Android. There might be issues with the plugin as I have not fully tested all possible scenarios on many devices, but I have installed it on a Nexus 5 and it worked fine. I hope this helps out some of you.
https://github.com/cdibened/filechooser
I've been experiencing this issue as well so I wrote a Cordova FileChooser plugin to a "band-aid" for the time being. Basically, in Android 4.4(KitKat), as mentioned in previous comments, the file dialog is not opened. However the onclick event is still fired on <input type=file> so you can call the FileChooser plugin to open a file dialog and upon selection, you can set a variable that contains the full path to the file. At this point, you can use the FileTransfer plugin to upload to your server and hook into the onprogress event to show progress. This plugin is mainly configured for Android 4.4 so I would recommend to continue to use the native file dialogs for earlier versions of Android. There might be issues with the plugin as I have not fully tested all possible scenarios on many devices, but I have installed it on a Nexus 5 and it worked fine. I hope this helps out some of you.
pe...@gmail.com <pe...@gmail.com> #44
Please make it work as it was. My clients are calling me.
ba...@gmail.com <ba...@gmail.com> #45
waiting a solution....
ra...@gmail.com <ra...@gmail.com> #46
Please fix it. Thanks.
ba...@gmail.com <ba...@gmail.com> #47
@sgurun .. my vote goes to option 1:
1. having a WebViewClient style callback to let the app programmatically handle the file input selection
2. having a policy hardcoded into the webview e.g. that just popups the UI automatically when the file input button is pressed
This also goes for <input type="color" /> behavior, it floats the same boat..
1. having a WebViewClient style callback to let the app programmatically handle the file input selection
2. having a policy hardcoded into the webview e.g. that just popups the UI automatically when the file input button is pressed
This also goes for <input type="color" /> behavior, it floats the same boat..
ni...@gmail.com <ni...@gmail.com> #48
Maybe my solution can help some users:
Currently my solution is to generate an unique token on upload click and
redirect the user via the navigator to an upload page corresponding with
the token.
But it's not really smooth for the user.
Please Google, implement a real solution !
Currently my solution is to generate an unique token on upload click and
redirect the user via the navigator to an upload page corresponding with
the token.
But it's not really smooth for the user.
Please Google, implement a real solution !
ke...@mudah.my <ke...@mudah.my> #49
Vote for option 1
mr...@gmail.com <mr...@gmail.com> #50
How many people need to complain before they take this seriously?
If this was never part of the solution nobody would care but when your existing apps stop working then it's a BIG DEAL.
If this was never part of the solution nobody would care but when your existing apps stop working then it's a BIG DEAL.
gh...@gmail.com <gh...@gmail.com> #51
Please fix this issue. Waiting for solution.
Thanks in advance
Thanks in advance
st...@gmail.com <st...@gmail.com> #52
Ouch... really?
bm...@gmail.com <bm...@gmail.com> #53
Why would Google remove a feature before figuring out an alternative? Being able to upload files is kind of important for many apps.
ma...@gmail.com <ma...@gmail.com> #54
[Comment deleted]
ma...@gmail.com <ma...@gmail.com> #55
All this is fucking unbelievable.
File upload functionality should have been built into WebView from the very beginning in the first place: <input type="file"> is just a standard feature of HTML, supported in browsers when not only android but even smarthpones didn't exist yet, so a standard-compliant WebView that is supposed to show web content should support it out of the box without the need to write any extra code.
Then, the fact that you have to override a _hidden_ method (as opposed to a protected or public method) is even more shemeful.
But the fact that now you remove the feature and break existing apps that did it the only way they could (which, by the way, is the same as Android's own browser did it) is fucking unbelievable.
That said, I guess Android Browser does support file uploads on 4.4, right? (I don't have a 4.4 phone, so I can't try it). So, I guess the workaround is to look at its source code and do it the same way as they do. Until they break it again.
File upload functionality should have been built into WebView from the very beginning in the first place: <input type="file"> is just a standard feature of HTML, supported in browsers when not only android but even smarthpones didn't exist yet, so a standard-compliant WebView that is supposed to show web content should support it out of the box without the need to write any extra code.
Then, the fact that you have to override a _hidden_ method (as opposed to a protected or public method) is even more shemeful.
But the fact that now you remove the feature and break existing apps that did it the only way they could (which, by the way, is the same as Android's own browser did it) is fucking unbelievable.
That said, I guess Android Browser does support file uploads on 4.4, right? (I don't have a 4.4 phone, so I can't try it). So, I guess the workaround is to look at its source code and do it the same way as they do. Until they break it again.
al...@gmail.com <al...@gmail.com> #56
It doesn't work in the "Android" browser in 4.4. Tried in an emulator and on my phone with a custom ROM.
pe...@gmail.com <pe...@gmail.com> #57
I could be mistaken, but IOS natively supports input=file without any special coding. You click the upload button, and it gives you a choice of Camera, file list or something else, can't remember. But it is fluid and useful.
I agree with matteosi. For the basics, webview should support, but if developers want to extend it, that option should be done also.
I agree with matteosi. For the basics, webview should support, but if developers want to extend it, that option should be done also.
ca...@gmail.com <ca...@gmail.com> #58
Unbelievable
ds...@gmail.com <ds...@gmail.com> #59
Unbelievable
sh...@gmail.com <sh...@gmail.com> #60
I agree with matteosi.
I think that we should be provided as a basic function without special options from webview.
I think that we should be provided as a basic function without special options from webview.
mi...@gmail.com <mi...@gmail.com> #61
Is this for real?
Why on earth would Google remove BASIC functionality from the webview in 4.4 breaking already existing apps. Terrible decision, they could have at least provided us with an alternative.
Why on earth would Google remove BASIC functionality from the webview in 4.4 breaking already existing apps. Terrible decision, they could have at least provided us with an alternative.
we...@gmail.com <we...@gmail.com> #62
This is absolutely disgraceful!
I have apps in the play store right now that are using file upload in webviews. I can't believe such a large company like this still hasn't fixed an issue so major from NOV 2013!
Appalling.
I have apps in the play store right now that are using file upload in webviews. I can't believe such a large company like this still hasn't fixed an issue so major from NOV 2013!
Appalling.
cw...@mobile311.com <cw...@mobile311.com> #63
I see this thread is starting to gain more traction. One of the early advantages Android had over iOS is that this worked without having to download a third party component.
pe...@gmail.com <pe...@gmail.com> #64
On the top left of this page we see that this issue was closed: Nov 13. Shouldn't it be opened again? Google Android team please open this issue to show us that you are working on a solution.
jc...@gmail.com <jc...@gmail.com> #65
They said it's not a bug, it's working as intended, we shouldn't have used the private method openFileChooser oon the first place
mi...@gmail.com <mi...@gmail.com> #66
#65 Whilst I do agree that it is a private method and maybe we shouldn't have been using it, it is a basic feature and frequently needed so what else would we have used? The feature needs to be added in and should have been a public method in the first place.
pe...@gmail.com <pe...@gmail.com> #67
I couldn't have expressed it better. I fully agree to mikecon2... This is the root cause and history of the problem and simply needs to be corrected by a public method providing this basic file upload feature. I just hope that the Android developers are reading our comments as this issue is in closed status (?).
he...@gmail.com <he...@gmail.com> #68
When is this issue going to be fixed, this is a showstopper,it cant be left unsolved this long.
ka...@gmail.com <ka...@gmail.com> #69
My recommendation is to inform news sites about this KitKat upgrade problem. This problem affects thousands of Apps on the Google Play store and I'm pretty sure a lot of users would like to be informed about their installed Apps breaking when upgrading to Android 4.4.2
If for example Ars Technica could write something about this problem it would probably be fixed immediately.
If for example Ars Technica could write something about this problem it would probably be fixed immediately.
dr...@gmail.com <dr...@gmail.com> #70
Are you kidding me? This is an absolutely essential feature. I'd expect this to be broken in a legacy version, but this loss of critical functionality for an *upgrade* is pretty unexpected.. :(
to...@gmail.com <to...@gmail.com> #71
Really helpless
fa...@gmail.com <fa...@gmail.com> #72
Hope this issue in WebView gets fixed at the earliest....Google devs, this is a must-have feature for the public API.
vi...@gmail.com <vi...@gmail.com> #73
It is surprising that the popularly used openFileChooser is not a part of public API. I'm sure many developers are desperately looking for a workable solution for this. While something gets done in an Android upgrade for this, it'll be great if someone can share any working work-around for this problem.
jc...@gmail.com <jc...@gmail.com> #74
For phonegap project, this plugin was shared here
https://github.com/cdibened/filechooser
Any other file chooser plugin can be used.
With that and the File Transfer plugin you can upload the files to the server
If you are not using phonegap then your work-around will need more work, you should create a way to execute the file chooser java code and a way to upload the files using java
Any other file chooser plugin can be used.
With that and the File Transfer plugin you can upload the files to the server
If you are not using phonegap then your work-around will need more work, you should create a way to execute the file chooser java code and a way to upload the files using java
ha...@gmail.com <ha...@gmail.com> #75
Any chance of seeing one of these band aided solutions incorporated into the code anytime soon?
re...@gmail.com <re...@gmail.com> #76
Has this still not been resolved? I have an app that relies on image file chooser and just won't work until this fix is implemented. I am absolutely disappointed in android development I literally had to do nothing for iOS because it was built in to webview but for android I have been pulling my hair out.
an...@gmail.com <an...@gmail.com> #77
Good news. Just had my Nexus 5 update to 4.4.3 and this issue now appears
fixed! My open FileChooser implementation which had been broken since 4.4.2
is working again!
fixed! My open FileChooser implementation which had been broken since 4.4.2
is working again!
jc...@gmail.com <jc...@gmail.com> #78
wasn't the kitkat webview supposed to autoupdate?
Even if they fixed it on 4.4.3, the problem will remain in devices that can't be updated
Even if they fixed it on 4.4.3, the problem will remain in devices that can't be updated
ka...@gmail.com <ka...@gmail.com> #79
I just tested 4.4.3 on my Nexus 7 device and the file chooser is now working as before but the file extension is not returned correctly in many cases. Can anyone else confirm this?
am...@gmail.com <am...@gmail.com> #80
[Comment deleted]
am...@gmail.com <am...@gmail.com> #81
I also tested on nexus 7 device with 4.4.3 updated,and file chooser is getting called but actual files like images are not getting uploaded.
I checked onpicpaste.com website with .jpg,.png images.
Is that issue of file extension not returned properly while uploading ?
I checked on
Is that issue of file extension not returned properly while uploading ?
mi...@gmail.com <mi...@gmail.com> #82
Tested with a Nexus 5 flashed from the Official Builds page. On Chrome it "kind of" works - the button surfaces the file picker. If you select "Gallery" or "Camera" as the source, images are uploaded - if you select "recent", then it doesn't seem to work for me. If you select other sources it seems like the image file name is rewritten on the server but at least the file is uploaded.
Thanks for looking at this Google.
Thanks for looking at this Google.
[Deleted User] <[Deleted User]> #83
[Comment deleted]
se...@gmail.com <se...@gmail.com> #84
It woks on my Nexus 10 4.4.3 and hope it'll always be work in future.
dr...@gmail.com <dr...@gmail.com> #86
new issue was found?
I've been using shouldOverrideUrlLoading successfully in 4.4.2 on my Android devices. The same application on the newer version of KitKat (4.4.3) doesn't call the shouldOverrideUrlLoading method at all!
I've been using shouldOverrideUrlLoading successfully in 4.4.2 on my Android devices. The same application on the newer version of KitKat (4.4.3) doesn't call the shouldOverrideUrlLoading method at all!
mo...@gmail.com <mo...@gmail.com> #87
Kindly fix this FileChooser issue, so that our apps can run perfectly on KitKat too......
Thanks.
Thanks.
hj...@gmail.com <hj...@gmail.com> #88
I thought 4.4.4 would finally fix this. 4.4.3 and 4.4.4 both respond to the click, and bring up the new file chooser. 4.4.3 crashes sometimes. Either way, no file extension is provided and the uploaded mimetype is application/octect-stream. How am I supposed to know what kind of document this is supposed to be - is it a .jpg, .pdf, .doc, .xls file or what? I need to know how to treat the file. Please fix this last issue and hopefully will be good to go. Thanks.
sg...@chromium.org <sg...@chromium.org> #89
We will be a adding a public API to WebViewClient in next major release to handle file requests.
ka...@gmail.com <ka...@gmail.com> #90
Come on. Why complicate it via a public API?
Let WebViewClient handle file request automatically in the same way that it works in all other browsers. When the user click on a file selector, the user can choose any kind of files on the device or choose to take a photo or record a video.
If I want to handle what type of files that can be uploaded this can be handle as normally in JavaScript or handle on the server side.
A great advantage if the WebViewClient handles file request itself is that no apps need to change or add any code and everything will just start working automatically when users upgrade.
Please make the right choice here!
Let WebViewClient handle file request automatically in the same way that it works in all other browsers. When the user click on a file selector, the user can choose any kind of files on the device or choose to take a photo or record a video.
If I want to handle what type of files that can be uploaded this can be handle as normally in JavaScript or handle on the server side.
A great advantage if the WebViewClient handles file request itself is that no apps need to change or add any code and everything will just start working automatically when users upgrade.
Please make the right choice here!
ba...@gmail.com <ba...@gmail.com> #91
#89 Thanks for the info @sgurun .. is that Android L or Lollipop?
And what about <input type="color"> where the issue is the same: no dialog or API hook available?
And what about <input type="color"> where the issue is the same: no dialog or API hook available?
sl...@gmail.com <sl...@gmail.com> #92
Multipart is to resolve it?
bi...@gmail.com <bi...@gmail.com> #93
I agree with #90. "Make the right choice"
zh...@gmail.com <zh...@gmail.com> #94
Support #90,
Simply solve it by update.
This should be the basic support as usual.
This change looks like 'Credit cards require user to provide finger print plus signature'---force users to switch to other bank cards which are working fine without extra effort.........
Simply solve it by update.
This should be the basic support as usual.
This change looks like 'Credit cards require user to provide finger print plus signature'---force users to switch to other bank cards which are working fine without extra effort.........
vi...@gmail.com <vi...@gmail.com> #95
I'd like to add to the criticism here and say BLARGH! So far none of the workarounds are in my skill range, and I know the problem still exists on updated Galaxy S5 phones as of yesterday.
bm...@gmail.com <bm...@gmail.com> #96
"So far none of the workarounds are in my skill range"
Thank you for that! I feel exactly the same way. It sounds like there may be some work-arounds but my confidence in them (or myself in implementing them) is very low, for something that worked totally fine before (and still works totally fine in other browsers).
Thank you for that! I feel exactly the same way. It sounds like there may be some work-arounds but my confidence in them (or myself in implementing them) is very low, for something that worked totally fine before (and still works totally fine in other browsers).
in...@sportster.co.za <in...@sportster.co.za> #97
[Comment deleted]
in...@sportster.co.za <in...@sportster.co.za> #98
Agree with #90..and truly sad day for android.. I truly believe that if anyone at android really cared about the impact that this change has on the community they will update and bring back this basic functionality..not doing anything is simply careless...
ar...@gmail.com <ar...@gmail.com> #99
It might work on 4.4.3 but what about 4.4.2 users? openFileChooser should have been public in the first place!!!!!!!
cl...@gmail.com <cl...@gmail.com> #100
very disappointed to find out such a basic user interaction cannot be supported as expected in the lastest Android platform. Agree with 90#, Android team should make the right and simple choice here.
[Deleted User] <[Deleted User]> #101
[Comment deleted]
da...@gmail.com <da...@gmail.com> #102
I am currently testing this on 4.4.4 and while it initially seems to work (I can choose a file), it seems that my ValueCallback<Uri> (mUploadMessage in the code above) can't use the resulting URI.
I suppose that the reason for this is that it can't make sense of the new document URIs - can someone confirm this and is there workaround for this? (I tried converting to file URIs and passing that to the callback, but that does not seem to work either).
I suppose that the reason for this is that it can't make sense of the new document URIs - can someone confirm this and is there workaround for this? (I tried converting to file URIs and passing that to the callback, but that does not seem to work either).
pr...@gmail.com <pr...@gmail.com> #103
Ive got that partially working too on android 4.4 but am unable to get the file data filled out in the input, maybe some of you who know android more can help out ? Here's my solution: http://stackoverflow.com/a/25591691/1071184
la...@gmail.com <la...@gmail.com> #104
I strongly recommend and encourage WebView to operate within the HTML standard
(<input type="file">) which means it should "just work" with no special programming required. The choice commonly available is photo, video and file upload. It works across platforms, different browsers, iOS, etc.
For more advanced applications (and developers), of course have an override.
But, WebView should, by default, do uploads correctly.
As policy, Google should not degrade systems which result in (1) published apps failing and (2) developers having no simple, reliable work-arounds provided IN ADVANCE.
Thank you for listening.
(<input type="file">) which means it should "just work" with no special programming required. The choice commonly available is photo, video and file upload. It works across platforms, different browsers, iOS, etc.
For more advanced applications (and developers), of course have an override.
But, WebView should, by default, do uploads correctly.
As policy, Google should not degrade systems which result in (1) published apps failing and (2) developers having no simple, reliable work-arounds provided IN ADVANCE.
Thank you for listening.
ja...@gmail.com <ja...@gmail.com> #105
I can't believe this issue was opened in November of last year and we still don't have this working!! Come on Android, you are killing us with this crap. I hear it will be out in the next major build...what does that mean? Lollipop? We need this ASAP.
[Deleted User] <[Deleted User]> #106
Can anybody provide any official information as to if and when this issue will be rectified?
nj...@gmail.com <nj...@gmail.com> #107
WTF!!!!!!!!!!!! It's been almost 1 year and still no fix??? GOOGLE ... PLEASE... ADDRESS THIS ISSUE! (‿ˠ‿) <-- Ass
it...@gmail.com <it...@gmail.com> #108
Actually a massive google fan can't believe they dropped the ball on something that works on Apple :O
ut...@gmail.com <ut...@gmail.com> #109
[Comment deleted]
ut...@gmail.com <ut...@gmail.com> #110
am not happy about this.. my app is useless without this functionality.. pls.. google fix this
de...@gmail.com <de...@gmail.com> #111
What the hell.. I spent almost a day trying to resolve this problem.. i cant believe google has done this.
hr...@gmail.com <hr...@gmail.com> #112
Dehypno: how to solve this problem?
gl...@gmail.com <gl...@gmail.com> #113
As a web developer, I'm so disappointed that google failed to support such an important functionality in HTML5 apps, rendering my webapp useless on android platform.
el...@gmail.com <el...@gmail.com> #114
It Works now in the Developer Preview of Android 5
ch...@gmail.com <ch...@gmail.com> #115
[Comment deleted]
ch...@gmail.com <ch...@gmail.com> #116
It is working in lollipop android 5 nexus 5
zh...@sessionm.com <zh...@sessionm.com> #117
[Comment deleted]
ra...@gmail.com <ra...@gmail.com> #118
It's working on Android 5 with new API onShowFileChooser().
API Doc:
http://developer.android.com/reference/android/webkit/WebChromeClient.html#onShowFileChooser(android.webkit.WebView,%20android.webkit.ValueCallback <android.net.Uri[]>,%20android.webkit.WebChromeClient.FileChooserParams)
Wonderful sample code by @gauntface
https://github.com/GoogleChrome/chromium-webview-samples/tree/master/input-file-example
API Doc:
Wonderful sample code by @gauntface
[Deleted User] <[Deleted User]> #119
Has anybody got a successful workaround for this, as our devices (Galaxy Tab 4) aren't due to receive Lollipop until April 2015! :(
Happy to compensate anybody who can help for their time/input.
Thanks in advance
Happy to compensate anybody who can help for their time/input.
Thanks in advance
vi...@gmail.com <vi...@gmail.com> #120
Found a SOLUTION which work for me. It is adding one more rule in `produard-android.txt`:
-keepclassmembers class * extends android.webkit.WebChromeClient {
public void openFileChooser(...);
}
-keepclassmembers class * extends android.webkit.WebChromeClient {
public void openFileChooser(...);
}
lm...@gmail.com <lm...@gmail.com> #121
Since i updated my phone to android 5.0, webview app disable the use of my upload image button from my embaded website! I tried to add some code and read alot of stuff but cant make it work. can someone fix this for me in my webview app to work i will pay for sure!! thanks
mo...@gmail.com <mo...@gmail.com> #123
Thanks for the update. But how the lower versions will get support?
je...@gmail.com <je...@gmail.com> #124
Interesting how google prioritizes this as 'small'. We have over 2 million users and 95% of kitkat users are on 4.4.2. This has had a big impact on us since it was discovered.
pc...@gmail.com <pc...@gmail.com> #125
[Comment deleted]
yu...@gmail.com <yu...@gmail.com> #126
fucking unbelievable,I spent a night trying to resolve this problem.
ma...@gmail.com <ma...@gmail.com> #127
If you're looking for a WebView subclass that "just works", you may want to try this:
https://github.com/delight-im/Android-AdvancedWebView
File uploads work on all Android versions from 2.2 to 5.0+, except for 4.4, where there is no possibility to make file uploads work.
File uploads work on all Android versions from 2.2 to 5.0+, except for 4.4, where there is no possibility to make file uploads work.
ko...@gmail.com <ko...@gmail.com> #128
Wow, I don't believe it. It works everywhere except for KitKat.
onShowFileChooser() in Lollipop is awesome and do its job too.
But KitKat? Everyone has KitKat, not Lollipop! C'mon! ;(
onShowFileChooser() in Lollipop is awesome and do its job too.
But KitKat? Everyone has KitKat, not Lollipop! C'mon! ;(
st...@gmail.com <st...@gmail.com> #129
118楼 的回答is good,帮助我解决了问题! 谢谢
[Deleted User] <[Deleted User]> #130
[Comment deleted]
mi...@gmail.com <mi...@gmail.com> #131
This is insane, even if it's fixed tomorrow, millions of users wont get updates for ages, iPhone updates are sent out overnight, android, 3.5 years...
cu...@rindegastos.com <cu...@rindegastos.com> #132
[Comment deleted]
ir...@gmail.com <ir...@gmail.com> #133
This is problematic, why to break already working functionality.
At least have it deprecated for sometime.
At least have it deprecated for sometime.
mb...@gmail.com <mb...@gmail.com> #134
I can't believe it, how can you just remove a functionality without making it first deprecated? 60% of devices run on kitkat.
fa...@kelvente.com <fa...@kelvente.com> #135
Unbelievable ! How can Google developers make a so huge mistake with a so flagrant indifference ?
lo...@gmail.com <lo...@gmail.com> #136
"ID","Type","Status","Owner","Summary","AllLabels","Stars"
"158756","Enhancement","New","","Wifi smart lock","Priority-Medium, Type-Enhancement","2"
"158740","Defect","New","sm...@android.com","Error in grammar of text in webpage","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158654","Defect","New","sm...@android.com","has my phone totally messed up!! ","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158647","Defect","New","","Action Bar Container Hide ","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158646","Enhancement","New","","10-key number pad keyboard option","Priority-Medium, Type-Enhancement","1"
"158644","Defect","New","to...@android.com","Android emulator crashes when LittleSnitch on OSX pops up a firewall prompt.","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158641","Defect","New","to...@android.com","importing android sample doesn't make gradlew executable","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-Studio, Target-1.3, Triaged-yes, Type-Defect","1"
"158639","Defect","New","to...@android.com","JIT armeabi-v7 emulator crash during test run","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-emulator, Type-Defect","1"
"158637","Defect","New","","SSL breaks Downloads app's ability to recognize Content-Type with ""Cannot open file.""","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158630","Enhancement","New","ch...@google.com","Extend ""exclude"" and ""pickFirst"" packagingOptions to work for packaged libraries","Component-Tools, Priority-Medium, Subcomponent-Tools-gradle, Target-1.3, Triaged-yes, Type-Enhancement","2"
"158629","Defect","New","","Very poor GPU performance Nexus 7 (2013) after Upgrading to 5.0.1 Lollipop","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158626","Enhancement","New","to...@android.com","Add App Engine SDK Management","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Enhancement","1"
"158625","Enhancement","New","to...@android.com","Google Cloud Module Default Package Name","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Enhancement","1"
"158619","Defect","New","","BLE write long data","Priority-Medium, ReportedBy-Developer, Type-Defect","3"
"158596","Defect","New","","Magnatic Sensor is not working in Android Wear","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158593","Defect","New","b...@google.com","SIGSEGV in Android installer - dex2oat (art::Mutex::ExclusiveLock)","Priority-Medium, Type-Defect","1"
"158590","Defect","New","","TextView/EditView setError popup is not stylable","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158581","Enhancement","New","to...@android.com","Do not close AVD Manager in Android Studio after removing emulator instance.","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Enhancement","1"
"158578","Defect","New","","TLSv12 with client authentication broken","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158575","Defect","New","sm...@android.com","Mixed content error causes video to not appear on about","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158573","Defect","New","sm...@android.com","Need to be updated <uses-features>","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158566","Defect","New","sm...@android.com","tools used?","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158559","Enhancement","New","","Battery saver API","Priority-Medium, Type-Enhancement","1"
"158558","Defect","New","sm...@android.com","https://source.android.com/devices/graphics/architecture.html ","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158557","Defect","New","","<uses-feature> for Bluetooth peripheral mode","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158547","Enhancement","New","","Native customize LED nofitication per app","Priority-Medium, Type-Enhancement","1"
"158545","Defect","New","sm...@android.com","Missing a word on front-page of ADG","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158537","Enhancement","New","vs...@google.com","custom am command line options in AS Run/Debug Configuration: Android Test","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-deployment, Type-Enhancement","1"
"158526","Defect","New","","Not possible to install custom certificates on Android Lollipop TV","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158525","Defect","New","","KeyChain.choosePrivateKeyAlias() causes a crash on Android Lollipop TV","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158523","Defect","New","sm...@android.com","Got a 404 onhttps://developer.android.com/design/tv/patterns.html#banner ","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158522","Defect","New","","BLuethooth BLE : Problem Scan Android 5.0.2","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158514","Defect","New","","App receive two consecutive suspended notification","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158512","Defect","New","","Issue building AOSP on Ubuntu 14.04","Priority-Medium, ReportedBy-Developer, Type-Defect, Version-OpenSource","1"
"158505","Defect","New","","disableKeyguard API may cause system critical problems.","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158490","Defect","New","","Android 5.0 music player playing wave(a-law & mu-law) not correctly,and opus can't be played","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158487","Defect","New","to...@android.com","external/qemu/android/scripts/build-qemu-android-deps.sh fails without any error message on Mac","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-emulator, Triaged-yes, Type-Defect","1"
"158484","Defect","New","to...@android.com","external/qemu/android/scripts/download-sources.sh gives an error on Ubuntu","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-emulator, Triaged-yes, Type-Defect","2"
"158470","Enhancement","New","","Browser: allow saving pages for offline reading","Priority-Medium, Type-Enhancement","1"
"158469","Enhancement","New","","Auto On/Off of Wi-Fi, location specific","Priority-Medium, Type-Enhancement","1"
"158423","Defect","New","to...@android.com","Reopen issue 36942808 ","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158421","Defect","New","sm...@android.com","ANDROID DEVELOPER WEBSITE TRANSLATION TO PORTUGUESE-BR","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158420","Enhancement","NeedsInfo","to...@android.com","Console list for ""Supported Devices""","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Enhancement","1"
"158411","Defect","New","","KeyChain.createInstallIntent() cancels immediately on KitKat (4.4)","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158409","Defect","New","","Recording from a Bluetooth mic (startBluetoothSco()) -- mic silently switched off when switching from app","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158397","Enhancement","New","","Request: allow apps to take screenshots, just like they can record the screen","Priority-Medium, Type-Enhancement","1"
"158396","Enhancement","New","to...@android.com","Search Bar on Palette","Component-Tools, Priority-Medium, Subcomponent-Tools-layout-editor, Type-Enhancement","1"
"158395","Defect","New","","ACTION_ANSWER doesn't call for handling phone call","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158394","Defect","New","to...@android.com","'adb sideload file' not in 'adb help'","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-emulator, Triaged-yes, Type-Defect","1"
"158393","Enhancement","New","","Extract cropped raw data from camera - using camera2 API","Priority-Medium, Type-Enhancement","1"
"158391","Defect","New","","ConsumerIrManager does not transmit infrared signals on Lollipop","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158385","Defect","Assigned","al...@android.com","DrawableContainer doesn't set hotspots when selecting a new Drawable","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158339","Defect","New","","Trouble with auto network switch","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158338","Defect","New","","The AACWriter not init mAACProfile in AACWriter(fd)","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158334","Defect","New","sm...@android.com","Issue withhttp://developer.android.com/google/play/expansion-files.html#StorageLocation ","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158332","Enhancement","New","","Request: more features for AsyncTaskLoader : cancel with interruption, get all loaders, get loader by String","Priority-Medium, Type-Enhancement","1"
"158329","Defect","New","","ANR caused by receiver has not been skipped correctly when process is died.","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158323","Enhancement","New","to...@android.com","Allow 'or' filter in logcat - usefull for seeing app logs + error logs for other sources","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-logcat, Type-Enhancement","1"
"158320","Enhancement","New","","Dont allow to Attend or Dial call if mobile is in charging mode.","Priority-Medium, Type-Enhancement","1"
"158265","Defect","New","","[android-5.0.1_r1][hammerhead] Get wrong result from SimpleDateFormat.parse(). Probably caused by the wrong zone strings for Dawson_Creek in Locale.US.","Priority-Medium, ReportedBy-Developer, Type-Defect, Version-OpenSource","1"
"158263","Defect","New","","MediaController.java MessageHandler bundle data issue.","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158261","Defect","New","","Not able to listen ringtone if I receive call","Priority-Medium, ReportedBy-Developer, Type-Defect, Version-OpenSource","1"
"158256","Defect","New","sm...@android.com","Geocoder dispalying location code has a bug","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158252","Enhancement","New","","Unread Count","Priority-Medium, Type-Enhancement","1"
"158249","Enhancement","New","c...@google.com","Integration Tests use remote maven central server.","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-gradle, Target-1.2, Triaged-yes, Type-Enhancement","1"
"158243","Defect","New","bendowski@google.com","Android Studio unit tests: running tests in one module shouldn't assemble other module's tests","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-gradle-ide, Subcomponent-Tools-test-support, Target-1.3, Triaged-yes, Type-Defect","2"
"158240","Enhancement","New","to...@android.com","More flexible scaling option in AVD manager","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-avd-manager, Type-Enhancement","1"
"158210","Defect","New","sm...@android.com","404 Not found error on provided link","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158203","Enhancement","New","","Always-on VPN should support VPN apps","Priority-Medium, Type-Enhancement","1"
"158184","Defect","Assigned","j...@google.com","ProductFlavors are ignoring signingConfigs with gradle-android-plugin 1.0.1, despite the documentation saying otherwise.","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-gradle, Target-1.1, Triaged-yes, Type-Defect","3"
"158171","Defect","New","","laucher display before keyguard when phone boot -- Android L version","Priority-Medium, ReportedBy-Developer, Type-Defect","3"
"158170","Defect","New","","CTS failure in android.core.tests.libcore.package.conscrypt","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158120","Defect","New","sm...@android.com","NFC card emulation developer guide missing","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158050","Defect","New","sm...@android.com","Android Studio Unable to execute DX","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158038","Enhancement","New","","Call Logs","Priority-Medium, Type-Enhancement","2"
"158028","Defect","New","","MediaPlayer seek issue (AwesomePlayer & Lollipop","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158019","Enhancement","New","","Why not use the hardware encryption module to speed up the crypto process on the nexus 6?","Priority-Medium, Type-Enhancement","2"
"158017","Defect","New","sm...@android.com","Unintelligible Security Tip","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158016","Enhancement","New","","Google Experience Launcher applicatiion drawer","Priority-Medium, Type-Enhancement","2"
"158014","Enhancement","New","","Turkish layout in Google Keyboard","Priority-Medium, Type-Enhancement","2"
"158012","Defect","New","sm...@android.com","getMeasuedHeightandState references width","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"157969","Defect","New","","Matrix.MultiplyMM produces incorrect results","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"157948","Enhancement","New","to...@android.com","In AndroidStudio : create auto UML diagrams","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-editing, Type-Enhancement","2"
"157946","Defect","New","sm...@android.com","logcat -v thread description missing in the documentation","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"157944","Defect","NeedsInfo","","lollypop android is issue n bug","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"157941","Defect","New","","Conflicting values of reject cause in VOICE_REGISTRATION_STATE in RIL","Priority-Medium, ReportedBy-Developer, Type-Defect, Version-OpenSource","1"
"157939","Defect","Assigned","adamlesi...@google.com","Incorrect interpreting string resource value","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"157920","Defect","New","","ps doesn't handle SIGPIPE properly","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"157919","Defect","Assigned","al...@android.com","Possible to trigger crash in system process with RadialGradient","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
This file is truncated to 100 out of 9303 total results. Seehttp://code.google.com/p/android/issues/csv?q=label%3APriority-Medium&colspec=ID%20Type%20Status%20Owner%20Summary%20AllLabels%20Stars&start=100 for the next set of results.
"158756","Enhancement","New","","Wifi smart lock","Priority-Medium, Type-Enhancement","2"
"158740","Defect","New","sm...@android.com","Error in grammar of text in webpage","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158654","Defect","New","sm...@android.com","has my phone totally messed up!! ","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158647","Defect","New","","Action Bar Container Hide ","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158646","Enhancement","New","","10-key number pad keyboard option","Priority-Medium, Type-Enhancement","1"
"158644","Defect","New","to...@android.com","Android emulator crashes when LittleSnitch on OSX pops up a firewall prompt.","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158641","Defect","New","to...@android.com","importing android sample doesn't make gradlew executable","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-Studio, Target-1.3, Triaged-yes, Type-Defect","1"
"158639","Defect","New","to...@android.com","JIT armeabi-v7 emulator crash during test run","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-emulator, Type-Defect","1"
"158637","Defect","New","","SSL breaks Downloads app's ability to recognize Content-Type with ""Cannot open file.""","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158630","Enhancement","New","ch...@google.com","Extend ""exclude"" and ""pickFirst"" packagingOptions to work for packaged libraries","Component-Tools, Priority-Medium, Subcomponent-Tools-gradle, Target-1.3, Triaged-yes, Type-Enhancement","2"
"158629","Defect","New","","Very poor GPU performance Nexus 7 (2013) after Upgrading to 5.0.1 Lollipop","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158626","Enhancement","New","to...@android.com","Add App Engine SDK Management","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Enhancement","1"
"158625","Enhancement","New","to...@android.com","Google Cloud Module Default Package Name","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Enhancement","1"
"158619","Defect","New","","BLE write long data","Priority-Medium, ReportedBy-Developer, Type-Defect","3"
"158596","Defect","New","","Magnatic Sensor is not working in Android Wear","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158593","Defect","New","b...@google.com","SIGSEGV in Android installer - dex2oat (art::Mutex::ExclusiveLock)","Priority-Medium, Type-Defect","1"
"158590","Defect","New","","TextView/EditView setError popup is not stylable","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158581","Enhancement","New","to...@android.com","Do not close AVD Manager in Android Studio after removing emulator instance.","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Enhancement","1"
"158578","Defect","New","","TLSv12 with client authentication broken","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158575","Defect","New","sm...@android.com","Mixed content error causes video to not appear on about","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158573","Defect","New","sm...@android.com","Need to be updated <uses-features>","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158566","Defect","New","sm...@android.com","tools used?","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158559","Enhancement","New","","Battery saver API","Priority-Medium, Type-Enhancement","1"
"158558","Defect","New","sm...@android.com","
"158557","Defect","New","","<uses-feature> for Bluetooth peripheral mode","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158547","Enhancement","New","","Native customize LED nofitication per app","Priority-Medium, Type-Enhancement","1"
"158545","Defect","New","sm...@android.com","Missing a word on front-page of ADG","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158537","Enhancement","New","vs...@google.com","custom am command line options in AS Run/Debug Configuration: Android Test","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-deployment, Type-Enhancement","1"
"158526","Defect","New","","Not possible to install custom certificates on Android Lollipop TV","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158525","Defect","New","","KeyChain.choosePrivateKeyAlias() causes a crash on Android Lollipop TV","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158523","Defect","New","sm...@android.com","Got a 404 on
"158522","Defect","New","","BLuethooth BLE : Problem Scan Android 5.0.2","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158514","Defect","New","","App receive two consecutive suspended notification","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158512","Defect","New","","Issue building AOSP on Ubuntu 14.04","Priority-Medium, ReportedBy-Developer, Type-Defect, Version-OpenSource","1"
"158505","Defect","New","","disableKeyguard API may cause system critical problems.","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158490","Defect","New","","Android 5.0 music player playing wave(a-law & mu-law) not correctly,and opus can't be played","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158487","Defect","New","to...@android.com","external/qemu/android/scripts/build-qemu-android-deps.sh fails without any error message on Mac","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-emulator, Triaged-yes, Type-Defect","1"
"158484","Defect","New","to...@android.com","external/qemu/android/scripts/download-sources.sh gives an error on Ubuntu","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-emulator, Triaged-yes, Type-Defect","2"
"158470","Enhancement","New","","Browser: allow saving pages for offline reading","Priority-Medium, Type-Enhancement","1"
"158469","Enhancement","New","","Auto On/Off of Wi-Fi, location specific","Priority-Medium, Type-Enhancement","1"
"158423","Defect","New","to...@android.com","Reopen
"158421","Defect","New","sm...@android.com","ANDROID DEVELOPER WEBSITE TRANSLATION TO PORTUGUESE-BR","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158420","Enhancement","NeedsInfo","to...@android.com","Console list for ""Supported Devices""","Component-Tools, Priority-Medium, ReportedBy-Developer, Type-Enhancement","1"
"158411","Defect","New","","KeyChain.createInstallIntent() cancels immediately on KitKat (4.4)","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158409","Defect","New","","Recording from a Bluetooth mic (startBluetoothSco()) -- mic silently switched off when switching from app","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158397","Enhancement","New","","Request: allow apps to take screenshots, just like they can record the screen","Priority-Medium, Type-Enhancement","1"
"158396","Enhancement","New","to...@android.com","Search Bar on Palette","Component-Tools, Priority-Medium, Subcomponent-Tools-layout-editor, Type-Enhancement","1"
"158395","Defect","New","","ACTION_ANSWER doesn't call for handling phone call","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158394","Defect","New","to...@android.com","'adb sideload file' not in 'adb help'","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-emulator, Triaged-yes, Type-Defect","1"
"158393","Enhancement","New","","Extract cropped raw data from camera - using camera2 API","Priority-Medium, Type-Enhancement","1"
"158391","Defect","New","","ConsumerIrManager does not transmit infrared signals on Lollipop","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158385","Defect","Assigned","al...@android.com","DrawableContainer doesn't set hotspots when selecting a new Drawable","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158339","Defect","New","","Trouble with auto network switch","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158338","Defect","New","","The AACWriter not init mAACProfile in AACWriter(fd)","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158334","Defect","New","sm...@android.com","Issue with
"158332","Enhancement","New","","Request: more features for AsyncTaskLoader : cancel with interruption, get all loaders, get loader by String","Priority-Medium, Type-Enhancement","1"
"158329","Defect","New","","ANR caused by receiver has not been skipped correctly when process is died.","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158323","Enhancement","New","to...@android.com","Allow 'or' filter in logcat - usefull for seeing app logs + error logs for other sources","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-logcat, Type-Enhancement","1"
"158320","Enhancement","New","","Dont allow to Attend or Dial call if mobile is in charging mode.","Priority-Medium, Type-Enhancement","1"
"158265","Defect","New","","[android-5.0.1_r1][hammerhead] Get wrong result from SimpleDateFormat.parse(). Probably caused by the wrong zone strings for Dawson_Creek in Locale.US.","Priority-Medium, ReportedBy-Developer, Type-Defect, Version-OpenSource","1"
"158263","Defect","New","","MediaController.java MessageHandler bundle data issue.","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158261","Defect","New","","Not able to listen ringtone if I receive call","Priority-Medium, ReportedBy-Developer, Type-Defect, Version-OpenSource","1"
"158256","Defect","New","sm...@android.com","Geocoder dispalying location code has a bug","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"158252","Enhancement","New","","Unread Count","Priority-Medium, Type-Enhancement","1"
"158249","Enhancement","New","c...@google.com","Integration Tests use remote maven central server.","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-gradle, Target-1.2, Triaged-yes, Type-Enhancement","1"
"158243","Defect","New","bendowski@google.com","Android Studio unit tests: running tests in one module shouldn't assemble other module's tests","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-gradle-ide, Subcomponent-Tools-test-support, Target-1.3, Triaged-yes, Type-Defect","2"
"158240","Enhancement","New","to...@android.com","More flexible scaling option in AVD manager","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-avd-manager, Type-Enhancement","1"
"158210","Defect","New","sm...@android.com","404 Not found error on provided link","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158203","Enhancement","New","","Always-on VPN should support VPN apps","Priority-Medium, Type-Enhancement","1"
"158184","Defect","Assigned","j...@google.com","ProductFlavors are ignoring signingConfigs with gradle-android-plugin 1.0.1, despite the documentation saying otherwise.","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-gradle, Target-1.1, Triaged-yes, Type-Defect","3"
"158171","Defect","New","","laucher display before keyguard when phone boot -- Android L version","Priority-Medium, ReportedBy-Developer, Type-Defect","3"
"158170","Defect","New","","CTS failure in android.core.tests.libcore.package.conscrypt","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158120","Defect","New","sm...@android.com","NFC card emulation developer guide missing","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158050","Defect","New","sm...@android.com","Android Studio Unable to execute DX","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158038","Enhancement","New","","Call Logs","Priority-Medium, Type-Enhancement","2"
"158028","Defect","New","","MediaPlayer seek issue (AwesomePlayer & Lollipop","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158019","Enhancement","New","","Why not use the hardware encryption module to speed up the crypto process on the nexus 6?","Priority-Medium, Type-Enhancement","2"
"158017","Defect","New","sm...@android.com","Unintelligible Security Tip","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"158016","Enhancement","New","","Google Experience Launcher applicatiion drawer","Priority-Medium, Type-Enhancement","2"
"158014","Enhancement","New","","Turkish layout in Google Keyboard","Priority-Medium, Type-Enhancement","2"
"158012","Defect","New","sm...@android.com","getMeasuedHeightandState references width","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"157969","Defect","New","","Matrix.MultiplyMM produces incorrect results","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"157948","Enhancement","New","to...@android.com","In AndroidStudio : create auto UML diagrams","Component-Tools, Priority-Medium, ReportedBy-Developer, Subcomponent-Tools-editing, Type-Enhancement","2"
"157946","Defect","New","sm...@android.com","logcat -v thread description missing in the documentation","Component-Docs, Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"157944","Defect","NeedsInfo","","lollypop android is issue n bug","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"157941","Defect","New","","Conflicting values of reject cause in VOICE_REGISTRATION_STATE in RIL","Priority-Medium, ReportedBy-Developer, Type-Defect, Version-OpenSource","1"
"157939","Defect","Assigned","adamlesi...@google.com","Incorrect interpreting string resource value","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
"157920","Defect","New","","ps doesn't handle SIGPIPE properly","Priority-Medium, ReportedBy-Developer, Type-Defect","2"
"157919","Defect","Assigned","al...@android.com","Possible to trigger crash in system process with RadialGradient","Priority-Medium, ReportedBy-Developer, Type-Defect","1"
This file is truncated to 100 out of 9303 total results. See
lo...@gmail.com <lo...@gmail.com> #137
Reported by jcesarmo...@gmail.com, Nov 13, 2013
Right now I set a WebChromeClient to the webview to make the <input type="file"> work inside a webview.
It is working for android < 4.4, but on 4.4 doesn't work, even using API 18. When you click the input, any of the openFileChooser functions is called.
Full example of code working on versions prior to 4.4
public class MyWb extends Activity {
WebView web;
private ValueCallback<Uri> mUploadMessage;
private final static int FILECHOOSER_RESULTCODE=1;
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
if(requestCode==FILECHOOSER_RESULTCODE)
{
if (null == mUploadMessage) return;
Uri result = intent == null || resultCode != RESULT_OK ? null
: intent.getData();
mUploadMessage.onReceiveValue(result);
mUploadMessage = null;
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
web = (WebView) findViewById(R.id.webview01);
web = new WebView(this);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("http://www.script-tutorials.com/demos/199/index.html ");
web.setWebViewClient(new myWebClient());
web.setWebChromeClient(new WebChromeClient()
{
//The undocumented magic method override
//Eclipse will swear at you if you try to put @Override here
// For Android 3.0+
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MyWb.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);
}
// For Android 3.0+
public void openFileChooser( ValueCallback uploadMsg, String acceptType ) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
MyWb.this.startActivityForResult(
Intent.createChooser(i, "File Browser"),
FILECHOOSER_RESULTCODE);
}
//For Android 4.1
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MyWb.this.startActivityForResult( Intent.createChooser( i, "File Chooser" ), MyWb.FILECHOOSER_RESULTCODE );
}
});
setContentView(web);
}
public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
}
//flipscreen not loading again
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
}}
Right now I set a WebChromeClient to the webview to make the <input type="file"> work inside a webview.
It is working for android < 4.4, but on 4.4 doesn't work, even using API 18. When you click the input, any of the openFileChooser functions is called.
Full example of code working on versions prior to 4.4
public class MyWb extends Activity {
WebView web;
private ValueCallback<Uri> mUploadMessage;
private final static int FILECHOOSER_RESULTCODE=1;
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
if(requestCode==FILECHOOSER_RESULTCODE)
{
if (null == mUploadMessage) return;
Uri result = intent == null || resultCode != RESULT_OK ? null
: intent.getData();
mUploadMessage.onReceiveValue(result);
mUploadMessage = null;
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
web = (WebView) findViewById(R.id.webview01);
web = new WebView(this);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("
web.setWebViewClient(new myWebClient());
web.setWebChromeClient(new WebChromeClient()
{
//The undocumented magic method override
//Eclipse will swear at you if you try to put @Override here
// For Android 3.0+
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MyWb.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);
}
// For Android 3.0+
public void openFileChooser( ValueCallback uploadMsg, String acceptType ) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
MyWb.this.startActivityForResult(
Intent.createChooser(i, "File Browser"),
FILECHOOSER_RESULTCODE);
}
//For Android 4.1
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MyWb.this.startActivityForResult( Intent.createChooser( i, "File Chooser" ), MyWb.FILECHOOSER_RESULTCODE );
}
});
setContentView(web);
}
public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
}
//flipscreen not loading again
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
}}
ra...@gmail.com <ra...@gmail.com> #138
What the hell is wrong with Google. Its 2 years now and still not fixed? Its even not working on Lollipop (5.0). And what a shame status is working as intended? while GoogleChrome is able to do this don't know how!
ca...@gmail.com <ca...@gmail.com> #139
There is a new method introduced in the WebChromeClient in Android 5.0 : public boolean onShowFileChooser(
WebView webView, ValueCallback<Uri[]> filePathCallback,
WebChromeClient.FileChooserParams fileChooserParams)
Please find the following link to get an example of how to use it :https://gauntface.com/blog/2014/10/17/what-you-need-to-know-about-the-webview-in-l
WebView webView, ValueCallback<Uri[]> filePathCallback,
WebChromeClient.FileChooserParams fileChooserParams)
Please find the following link to get an example of how to use it :
ch...@ch2ho.com <ch...@ch2ho.com> #140
WTF is wrong with android platform dev team??? useless. so flagrant indifference.
tu...@gmail.com <tu...@gmail.com> #141
I have been stuck for more than a week on this issue now trying all the possible solutions. If anyone knows a workaround for android 4.4.2 then pls share a link.
Is there any way to open file upload inside webview ??
@google: Kindly resolve, It has been more than 2 years now.
Is there any way to open file upload inside webview ??
@google: Kindly resolve, It has been more than 2 years now.
en...@gmail.com <en...@gmail.com> #142
I am struggling with the same issue right now.
it is really a shame that this has not been fixed yet.
it is really a shame that this has not been fixed yet.
dy...@gmail.com <dy...@gmail.com> #143
At least we're up to medium priority! Interesting how active this thread has been.
Given it's be 2 years, is there a kosher workaround yet? I don't even need a callback into the device itself, just the intent to be broadcasted and for webkit to handle the input.
Given it's be 2 years, is there a kosher workaround yet? I don't even need a callback into the device itself, just the intent to be broadcasted and for webkit to handle the input.
sh...@gmail.com <sh...@gmail.com> #144
[Comment deleted]
da...@gmail.com <da...@gmail.com> #145
Android dev team, any solution for this?? Android Kitkat is right now the biggest percentage of users.
[Deleted User] <[Deleted User]> #146
[Comment deleted]
[Deleted User] <[Deleted User]> #147
[Comment deleted]
ta...@gmail.com <ta...@gmail.com> #148
Someone has a working example?
ma...@lexon.at <ma...@lexon.at> #149
[Comment deleted]
ma...@lexon.at <ma...@lexon.at> #150
Is there already a solution?????
ua...@gmail.com <ua...@gmail.com> #151
Please let me know any solution this issue is on all Kitkat devices and its really an headche for me for last couple of days. unable to upload file in webview
fl...@gmail.com <fl...@gmail.com> #152
Hi everyone, we had a big problem with this issue while deploying Surefox as a browser app that needed to upload photos. To get around it, we implemented a simple app for uploading photos using a uri. You can get it for free on the play store here if it will help you out:
https://play.google.com/store/apps/details?id=com.fleeteng.snapload&hl=en
Snapload lets you upload photos to the internet with a simple data URI. Simply embed a snapload URI in any application or website and snapload will launch the devices camera, allowing you to snap a photo and upload it to the specified URL.
Although Snapload was designed to be used in conjunction with FleetEngineering's driver portal and container elite applications, it functions just as well on its own in conjunction with any other app providing snapload data URIs.
* Snapload URIs are of the form snapload://?url=http://yoursever.com/path/to/upload
* Snapload will upload the photo taken with the camera to the specified url as a multipart form using the photo parameter
Snapload lets you upload photos to the internet with a simple data URI. Simply embed a snapload URI in any application or website and snapload will launch the devices camera, allowing you to snap a photo and upload it to the specified URL.
Although Snapload was designed to be used in conjunction with FleetEngineering's driver portal and container elite applications, it functions just as well on its own in conjunction with any other app providing snapload data URIs.
* Snapload URIs are of the form snapload://?url=
* Snapload will upload the photo taken with the camera to the specified url as a multipart form using the photo parameter
th...@gmail.com <th...@gmail.com> #153
@152, how to embed snapload in a webview app? please elaborate. i have released webview app, in which the user is not able to upload images, profile avatars, etc. the website is in wordpress.
ce...@gmail.com <ce...@gmail.com> #154
I have found a solution for this issue, when you want to send a picture:
in the onActivityResult, convert the intent args into a Bitmap like this:
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), intent.getData());
then implement the this method
selectedImageUri = intent == null ? null : ImageUtility.savePicture(this, bitmap, 1400);
mUploadMessage.onReceiveValue(selectedImageUri);
and the savePicture method works like this:
public static Uri savePicture(Context context, Bitmap bitmap, int maxSize) {
int cropWidth = bitmap.getWidth();
int cropHeight = bitmap.getHeight();
if (cropWidth > maxSize) {
cropHeight = cropHeight * maxSize / cropWidth;
cropWidth = maxSize;
}
if (cropHeight > maxSize) {
cropWidth = cropWidth * maxSize / cropHeight;
cropHeight = maxSize;
}
bitmap = ThumbnailUtils.extractThumbnail(bitmap, cropWidth, cropHeight, ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
File mediaStorageDir = new File(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
context.getString(R.string.app_name)
);
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile = new File(
mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg"
);
// Saving the bitmap
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, out);
FileOutputStream stream = new FileOutputStream(mediaFile);
stream.write(out.toByteArray());
stream.close();
} catch (IOException exception) {
exception.printStackTrace();
}
// Mediascanner need to scan for the image saved
Intent mediaScannerIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri fileContentUri = Uri.fromFile(mediaFile);
mediaScannerIntent.setData(fileContentUri);
context.sendBroadcast(mediaScannerIntent);
return fileContentUri;
}
in the onActivityResult, convert the intent args into a Bitmap like this:
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), intent.getData());
then implement the this method
selectedImageUri = intent == null ? null : ImageUtility.savePicture(this, bitmap, 1400);
mUploadMessage.onReceiveValue(selectedImageUri);
and the savePicture method works like this:
public static Uri savePicture(Context context, Bitmap bitmap, int maxSize) {
int cropWidth = bitmap.getWidth();
int cropHeight = bitmap.getHeight();
if (cropWidth > maxSize) {
cropHeight = cropHeight * maxSize / cropWidth;
cropWidth = maxSize;
}
if (cropHeight > maxSize) {
cropWidth = cropWidth * maxSize / cropHeight;
cropHeight = maxSize;
}
bitmap = ThumbnailUtils.extractThumbnail(bitmap, cropWidth, cropHeight, ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
File mediaStorageDir = new File(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
context.getString(R.string.app_name)
);
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile = new File(
mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg"
);
// Saving the bitmap
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, out);
FileOutputStream stream = new FileOutputStream(mediaFile);
stream.write(out.toByteArray());
stream.close();
} catch (IOException exception) {
exception.printStackTrace();
}
// Mediascanner need to scan for the image saved
Intent mediaScannerIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri fileContentUri = Uri.fromFile(mediaFile);
mediaScannerIntent.setData(fileContentUri);
context.sendBroadcast(mediaScannerIntent);
return fileContentUri;
}
mi...@gmail.com <mi...@gmail.com> #155
Can we get a working demo of this???
in webview
in webview
lu...@gmail.com <lu...@gmail.com> #156
This is absolutely awful. Seriously, Google? This bug has existed for several years, and you cannot fix it? I expected better from the top search engine company!
ol...@gmail.com <ol...@gmail.com> #157
What the hell google dev support team , It's almost two and half year and you guys can't found a single solution on this issue , shame :/ :/
zh...@gmail.com <zh...@gmail.com> #158
it's still a problem that have no perfect solution……
jo...@gmail.com <jo...@gmail.com> #159
I think this problem will never be solved...WTF!
ch...@gmail.com <ch...@gmail.com> #160
Adding my +1WTF.
File upload "Works as Expected" the latest chrome browser, but is still broken in WebView.
File upload "Works as Expected" the latest chrome browser, but is still broken in WebView.
an...@gmail.com <an...@gmail.com> #161
The status should be changed. This is obviously not WorkingAsIntended.
I can't believe the intention is to not support file uploads.
I can't believe the intention is to not support file uploads.
na...@gmail.com <na...@gmail.com> #162
I really had to find a workaround for this problem.
What I ended up on doing has been to implement CrossWalk as WebView wrapper. It basically will bundle the newest Chrome (fixing all the old-chrome related bugs and adding a whole bunch of new APIs), also it implements the file input correctly.
This is how I implemented it:
http://maurizionapoleoni.de/blog/implementing-a-file-input-with-camera-support-in-android-with-crosswalk/
What I ended up on doing has been to implement CrossWalk as WebView wrapper. It basically will bundle the newest Chrome (fixing all the old-chrome related bugs and adding a whole bunch of new APIs), also it implements the file input correctly.
This is how I implemented it:
nd...@gmail.com <nd...@gmail.com> #163
Working example for Image upload from gallary within webview. Tested on JB & Kitkat. IT Works.Using 'addjavascriptinterface'
https://codemumbai.wordpress.com/android-webview-image-upload-solved/
be...@gmail.com <be...@gmail.com> #164
I have the same problem and i want to understand why we say it's impossible ? , while some browsers like chrome, samsung default browser, firefox, opera, uc browser , get it work without problems ( when i click on the input field the camera or an intent chooser is shown ) Are they using a different implementation of Webview ?
Why on those applications it works well and on an application using WebView and WebViewChromeClient it's not working and the filechooser methods does not get called ?
Tested on Samsung Galaxy Tab , Android 4.4.2
Why on those applications it works well and on an application using WebView and WebViewChromeClient it's not working and the filechooser methods does not get called ?
Tested on Samsung Galaxy Tab , Android 4.4.2
sm...@gmail.com <sm...@gmail.com> #165
[Comment deleted]
be...@gmail.com <be...@gmail.com> #166
Ok, I found the answer to my own question : Either these apps embed chromium code and use it's implementation of WebView instead of the System based implementation ( containing this bug in the case of 4.4.2 and different between each Android version ) or they have their own web engine to rely on and don't rely on webview
li...@gmail.com <li...@gmail.com> #167
how to fix this bug on android 4.4.2
th...@gmail.com <th...@gmail.com> #168
Still awaiting an official workaround for such a basic feature. Users of the product I work on are slow to adopt capable smartphones. We are just now seeing a significant number of users running Android 4.4 and this issue has become top priority. Initially, I blocked the feature in question from 4.4 users, however, some users have complained that the uploading did work on their devices before I made that change. Here's a sample user agent:
Mozilla/5.0 (Linux; Android 4.4.2; HTC Desire 510 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
Any thoughts as to why this device works while so many others do not?
Mozilla/5.0 (Linux; Android 4.4.2; HTC Desire 510 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/
Any thoughts as to why this device works while so many others do not?
ny...@gmail.com <ny...@gmail.com> #169
[Comment deleted]
ny...@gmail.com <ny...@gmail.com> #170
dd...@gmail.com <dd...@gmail.com> #171
#170 - no it doesn't work on 4.4.2 either =/
Does anybody got any luck on that fix?
Does anybody got any luck on that fix?
ts...@gmail.com <ts...@gmail.com> #172
It's not only a issue of 4.4.2. File upload is only working perfectly in android 5.x
What i found is given below:
android 6.0: Only file upload from gallery not from Camera (Camera option is not available)
android 5.0: Works both from Camera and Gallery
android 4.0>=version<= 4.4: Not working from both Camera and Gallery. Some cases are become random and difficult for develop to predict the situation
What i found is given below:
android 6.0: Only file upload from gallery not from Camera (Camera option is not available)
android 5.0: Works both from Camera and Gallery
android 4.0>=version<= 4.4: Not working from both Camera and Gallery. Some cases are become random and difficult for develop to predict the situation
ti...@gmail.com <ti...@gmail.com> #173
I would prefer 2. having a policy hardcoded into the webview e.g. that just popups the UI automatically when the file input button is pressed.
It's better if it not too complicated to implement. Since a web view is displayed a website url anyways, it's better if the functionality in the web page should work as is. If there is file upload button, it should work on Android Web View without much complexity to implement it. Just an opinion.
Google, please include the file upload feature. It is very essential.
It's better if it not too complicated to implement. Since a web view is displayed a website url anyways, it's better if the functionality in the web page should work as is. If there is file upload button, it should work on Android Web View without much complexity to implement it. Just an opinion.
Google, please include the file upload feature. It is very essential.
da...@gmail.com <da...@gmail.com> #174
Still an issue today (more than two and a half years after the first report). I guess and fear there won't be an official fix for this.
Did anyone succeed in overriding the UploadHandler from Android 4.4.3 from this post:http://stackoverflow.com/questions/26101065/choose-file-to-upload-on-webview-android-kitkat-4-4-2
Did anyone succeed in overriding the UploadHandler from Android 4.4.3 from this post:
tm...@gmail.com <tm...@gmail.com> #175
I think priority for thus should be high. Its a major stumbling block for development on different versions.
mi...@gmail.com <mi...@gmail.com> #177
Hours spent to finally land on this....
ne...@gmail.com <ne...@gmail.com> #178
Status of this issue is WorkingAsIntended - but it doesn't work , the intend was to input type file doesn't work ?
[Deleted User] <[Deleted User]> #179
Aún no existe solución ????
ki...@gmail.com <ki...@gmail.com> #180
This is a really bad management decision !
It is possible to have Chrome installing my Progressive Web App (with "Add to Homescreen"),
and have it work perfectly (loading files as intended), but that functionality is cut-off in the Webview?
And it is NOT possible to put that PWA (as installed by Chrome) on the playstore...
In other words... we can make the apps, just not distribute them in working condition.
... just one more question.. is your project lead payed by Apple to hold you/us back?
It is possible to have Chrome installing my Progressive Web App (with "Add to Homescreen"),
and have it work perfectly (loading files as intended), but that functionality is cut-off in the Webview?
And it is NOT possible to put that PWA (as installed by Chrome) on the playstore...
In other words... we can make the apps, just not distribute them in working condition.
... just one more question.. is your project lead payed by Apple to hold you/us back?
jc...@gmail.com <jc...@gmail.com> #181
This is only broken in Android 4.4-4.4.2 and won't be fixed there, it's partially fixed on Android 4.4.3 and totally fixed in 4.4.4.
Then on Android 5 Google added a new public API to do the same instead of the openFileChooser, that wasn't public.
Then on Android 5 Google added a new public API to do the same instead of the openFileChooser, that wasn't public.
[Deleted User] <[Deleted User]> #182
+1WTF Any work around?
ki...@gmail.com <ki...@gmail.com> #183
#181,
fixed in 4.4.4 - awesome...
Any ideas how to target app distribution to only 4.4.4 and not the 4.4 ~ 4.4.2?
They are all API level 19, are they not?
fixed in 4.4.4 - awesome...
Any ideas how to target app distribution to only 4.4.4 and not the 4.4 ~ 4.4.2?
They are all API level 19, are they not?
au...@gmail.com <au...@gmail.com> #184
Can't believe this hasn't been solved yet.
[Deleted User] <[Deleted User]> #185
I'm crying right now with this T.T
[Deleted User] <[Deleted User]> #186
Let's write down all the ideas and ways to solve this problem below. Somehow get around this error Google.
la...@mservice.com.vn <la...@mservice.com.vn> #187
input type="file". Work as expected with Android Chrome.
Android 7.0 - Android webview default is also not work.
Any solution?
Android 7.0 - Android webview default is also not work.
Any solution?
di...@gmail.com <di...@gmail.com> #188
is there any solution for 2020?
jc...@gmail.com <jc...@gmail.com> #189
Do anybody cares about android 4.4 in 2020?
The issue was closed as won’t fix, but they really added new methods to make input file work on android 4.4.4 and later
The issue was closed as won’t fix, but they really added new methods to make input file work on android 4.4.4 and later
sf...@gmail.com <sf...@gmail.com> #190
I am seeing this issue with the current webview as well, does this issue still exist?
Description
It is working for android < 4.4, but on 4.4 doesn't work, even using API 18. When you click the input, any of the openFileChooser functions is called.
Full example of code working on versions prior to 4.4
public class MyWb extends Activity {
WebView web;
private ValueCallback<Uri> mUploadMessage;
private final static int FILECHOOSER_RESULTCODE=1;
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
if(requestCode==FILECHOOSER_RESULTCODE)
{
if (null == mUploadMessage) return;
Uri result = intent == null || resultCode != RESULT_OK ? null
: intent.getData();
mUploadMessage.onReceiveValue(result);
mUploadMessage = null;
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
web = (WebView) findViewById(R.id.webview01);
web = new WebView(this);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("
web.setWebViewClient(new myWebClient());
web.setWebChromeClient(new WebChromeClient()
{
//The undocumented magic method override
//Eclipse will swear at you if you try to put @Override here
// For Android 3.0+
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MyWb.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);
}
// For Android 3.0+
public void openFileChooser( ValueCallback uploadMsg, String acceptType ) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
MyWb.this.startActivityForResult(
Intent.createChooser(i, "File Browser"),
FILECHOOSER_RESULTCODE);
}
//For Android 4.1
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MyWb.this.startActivityForResult( Intent.createChooser( i, "File Chooser" ), MyWb.FILECHOOSER_RESULTCODE );
}
});
setContentView(web);
}
public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
}
//flipscreen not loading again
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
}}