Hello everyone,
recently I encountered a problem on my Samsung S10. I work as a developer and I look into logcat almost every day. Few days ago I've noticed that logcat is flooded with one exception. Exactly this one:
2019-05-26 11:10:14.805 14346-1122/? W/Bundle: Key android.icon expected Parcelable but value was a java.lang.Integer. The default value <null> was returned.
2019-05-26 11:10:14.806 14346-1122/? W/Bundle: Attempt to cast generated internal exception:
java.lang.ClassCastException: java.lang.Integer cannot be cast to android.os.Parcelable
at android.os.Bundle.getParcelable(Bundle.java:946)
at android.app.Notification.fixDuplicateExtra(Notification.java:2840)
at android.app.Notification.fixDuplicateExtras(Notification.java:2830)
at android.app.Notification.readFromParcelImpl(Notification.java:2178)
at android.app.Notification.<init>(Notification.java:2106)
at android.app.Notification$1.createFromParcel(Notification.java:2716)
at android.app.Notification$1.createFromParcel(Notification.java:2713)
at android.os.Parcel.readParcelable(Parcel.java:2790)
at android.view.accessibility.AccessibilityEvent.readAccessibilityRecordFromParcel(AccessibilityEvent.java:1232)
at android.view.accessibility.AccessibilityEvent.initFromParcel(AccessibilityEvent.java:1182)
at android.view.accessibility.AccessibilityEvent$1.createFromParcel(AccessibilityEvent.java:1426)
at android.view.accessibility.AccessibilityEvent$1.createFromParcel(AccessibilityEvent.java:1423)
at android.accessibilityservice.IAccessibilityServiceClient$Stub.onTransact(IAccessibilityServiceClient.java:68)
at android.os.Binder.execTransact(Binder.java:739)
Click to expand...
Click to collapse
I also noticed that my battery started to drain much faster probably because of that. Actually Google Play Services are quite high on the list when I look on 1 week history ?
How can I determine which app is writing this exception? Is it actually possible? Maybe you have other ideas how to solve this problem?
Thanks for any help!
Related
I'm pretty new to XDAndroid so apologies if I'm doing this wrong.
I've been playing around with Google App Inventor and run into an issue with sounds. I thought I'd pass this on just in case it's pointing to a potential problem (I have no idea).
If I add a sound component with an mp3 source to an app it doesn't work on the phone, though it works in the APP Inventor emulator. But if I attach a wav file instead, it works. Also if I use the Player component, it works.
I'm running the latest kernel on a RHOD500. Here's the relevant part of the log file in case this is of any interest.
I/ActivityManager( 1444): Starting activity: Intent
{ act=android.intent.action.
MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000
cmp=appinventor.ai_Ca
rld256.HelloPurr/.Screen1 }
D/Form ( 1893): Form got onResume
I/Sound ( 1893): Got onResume
I/Sound ( 1893): Unable to play. Did you remember to set the Source
property?
Taking a wild guess here. Remove all tags from the MP3 (using something like Mp3tag for windows).
Maybe there's an 'invalid' character in the file name?
Perhaps the phone is trying to find the codec and can't?
I have never messed with this stuff, just throwing ideas around
A tag issue sounds likely. I'll try that soon as I get Android set back up.
Heh, Would be right.
Have a look at this: http://forum.xda-developers.com/showthread.php?t=1096895
ryannathans said:
Heh, Would be right.
Have a look at this: http://forum.xda-developers.com/showthread.php?t=1096895
Click to expand...
Click to collapse
Yep, it seems to have been a tag issue. I ran meow.mp3 through Mp3tag and it works on the phone now. At least I know what to do next time I run into this problem. Thanks much.
No problems, glad I could help
Hereby I attach a logcat output of what happens when I try to run Rainbow Six on my XPLay, version 2.3.3, and the subsequent force close. Perhaps it can be helpful: http://pastebin.com/02jK09Yr
Someone with Sacred Oddysey, another game which FC's on 2.3.3, could upload his/her paste as well and maybe there's some common element between them.
This isnt going to help you much, but i can say that i still use 2.3.2 and all games run fine.
If all else fails you could try a downgrade, if this is possible?
dsswoosh said:
This isnt going to help you much, but i can say that i still use 2.3.2 and all games run fine.
If all else fails you could try a downgrade, if this is possible?
Click to expand...
Click to collapse
I'll try downgrading, but it would be nice if you could upload the logcat of your working RB6 game to see where it crashes.
Enviado desde mi R800i
heres the logcat for rainbow 6 working on my 2.3.2 firmware, im not getting much of an output though.
Looks like you pasted too late into the game's startup for that to be helpful.
The game appears to be checking for the firmware revision on the Xperia Play:
Code:
I/System.out(17851): firmwareeeeeeeeeeeeee : 0.145
D/AndroidRuntime(17851): Shutting down VM
W/dalvikvm(17851): threadid=1: thread exiting with uncaught exception (group=0x2aac8560)
E/AndroidRuntime(17851): FATAL EXCEPTION: main
E/AndroidRuntime(17851): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gameloft.android.ANMP.GloftR6HP/com.gameloft.android.ANMP.GloftR6HP.Game}: java.lang.NumberFormatException: unable to parse '0.145' as integer
It is expecting a whole number, an integer. 2.3.2 probably hands off "141" whereas 2.3.3 is handing off "0.145" instead of the expected "145". The game then chokes because 0.145 is not an integer but a floating point number. It's a very simple fix on Gameloft's end, honestly.
Here's the relevant part of Rainbow 6 starting up on my 2.3.2 Rogers Xperia Play:
Code:
I/ActivityManager( 194): Starting: Intent { cmp=com.gameloft.android.ANMP.GloftR6HP/.Game } from pid 1744
I/System.out( 1744): motionEventHasSource try-----:
I/System.out( 1744): firmwareeeeeeeeeeeeee : 181
As you see, it's a proper integer so the game runs properly.
I am having exactly the same issue with Sacred Oddysey. I've sent them a ticket about it with the logcat output, but they won't fix it before Monday.
Make sure you point them to my post above which should outline exactly what is wrong.
This may seem strange but try starting up the game while having a wifi connection.
Gameloft games check the authenticity of the game every once in awhile and they need wifi for that.
It works now download the game again from the market and 1MB additional data
Crdit goes to thomassafca for update
Hi,
This is the first time I've started a thread so home I'm in the right place etc.
Just working on my first ever app. I created it as a service as that's what I thought I needed to monitor the battery status, screen status etc. I created some intent filters within the program itself to do that and assumed the process had to be running to get them.
Then I read I could have put the intents in the manifest file and my app will be started up if it isn't already running. That sounds quite neat as I can get rid of the notification icon I have to have in the notification area (I had to use setForeground to stop Android killing off the service and then immediately re-starting it). But -
Am I going to use up more battery with this second method? (using intents to wake the process) I'm not sure how often Android is going to terminate my process but if it's quite often then the overhead of my app starting up and reading some variables I'd have to persist could be a drain.
Any rule of thumb help here? I know the answer might have a bit of "depends" in it but really looking for some general advice.
Thanks.
Peter.
Hi Folks,
My company is importing some Android-based TV boxes from China, and we're experiencing a strange bug with some apps we are developing to run on them. I'm trying to find a specific solution that I can tell them to implement in a firmware upgrade, but I am not sure where to look, so I hope someone here can help!
Anyway here is the problem. In some apps (especially Adobe AIR-based ones), there seems to be a limit to concurrent HTTP requests to a web server. On an earlier ICS 4.0.4 firmware for these devices, this did not cause any problems. But they recently released a JB 4.1.1 firmware, and this problem occurs.
Let's say an app requests 20 items by HTTP from a web server (XML files, PNG or JPG images). What will happen is about 2/3 of these will be sent back, and the rest just remains blank, as if in a perpetual waiting status.
Looking at the web server's logs, there is no requests at all for these missing items.
And, it's totally random. If you re-launch the app, the missing items will be different ones.
So, I am guessing the app can only request so many things at the same time.
No, does anyone know of a system property that could be adjusted to solve this?
BTW I am unable to replicate this bug on any other device. The TV boxes in question are based on Rockchip 3066 SoC's
Using modern HTTP (i.e. HTTP/1.1), you should never open an excessive amount of sessions. Never more than four simultaneous. Using HTTP/1.1 keep-alive, all requests are sent using those four sessions interleaved. If opening one session per object, and doing this in parallel, you'd most certainly lose things due to resource starvation, e.g. the server gets out of worker forks.
That's the weird thing, on the web server, keepalive is on (I also tested with it off, it was worse)
So maybe it's the opposite, AIR or the firmware or something is trying to send more requests than it should, so some are blocked indefinitely?
eTiMaGo said:
That's the weird thing, on the web server, keepalive is on (I also tested with it off, it was worse)
So maybe it's the opposite, AIR or the firmware or something is trying to send more requests than it should, so some are blocked indefinitely?
Click to expand...
Click to collapse
Not blocked, but replied with a TCP reset. Run tcpdump to see what's going on.
Thanks for the tip, I managed to root the box and run tcpdump on it, but I'm a bit lost now... I tried to filter RST packets on port 80 but can't seem to find any.
Any hints on what I should look for/command syntax to use?
eTiMaGo said:
Thanks for the tip, I managed to root the box and run tcpdump on it, but I'm a bit lost now... I tried to filter RST packets on port 80 but can't seem to find any.
Any hints on what I should look for/command syntax to use?
Click to expand...
Click to collapse
Dump all packets between the hosts: tcpdump -i ethx -s1500 -w packets.pcap host host.nr.one and host host.nr.two
Run the app, then analyze the packets.pcap file for any anomalies (tcpdump -r packets.pcap).
These look like they would be fun to have:
http://www.htc.com/www/accessories/htc-fetch/
If they start approaching US$25, I'll probably grab one.
ive got one. its a nifty little gadget.
marctronixx said:
ive got one. its a nifty little gadget.
Click to expand...
Click to collapse
Mine arrived from Best Buy today. Does anyone know if there's a way to keep the proximity functionality without having the notification always show in the notification bar? I went to app settings, and it's not allowing me to disable it.
in the stock config, the icon is there when activated, just like the nfc icon.
marctronixx said:
ive got one. its a nifty little gadget.
Click to expand...
Click to collapse
marctronixx, I think I recognize you from a few previous phone forums. :good:
This device sounds like it wold be an ideal 'Trusted Device' along the lines of the Moto-X implementation where the phone lowers its security barriers when paired with a specific Bluetooth device. I've even suggested as much to HTC.
I'm wondering... Have you tried it with any of the myriad of tasker-like apps out there to try to replicate the feature?
hey!
ive only used it as directed, but if you pose a scenario i can experiment with, perhaps i can help you answer your question?
@marctronixx
Big apologies for long delay.
Here is a scenario... There is an app called Pebble Locker that although designed for a Pebble watch, allows any BT device to act as a trusted connection and automatically disables PIN lock. If no Pebble or other trusted device is conected, PIN lock returns. (Unfortunately it doesn't work with pattern lock or fingerprint scan). The idea is that if you have a separate device near the phone, it lowers the barrier. If you leave the device, the barrier rises again. I'm hoping the Fetch would work for that as it would almost always be in my pocket or nearby.
Of course, it would be better if it was something built in to HTC devices. Some time ago I stumbled across their SDK and it seems to be pretty powerful but I'm not a programmer so...
-Separate note: I've seen some discussions that the KitKat update on the HTC One's breaks Fetch. Not too many confirmations, but no denials either.
Hello! I have 2 Fetchs. One for the One Max and One for the One m7. My Fetch works great with One m7 on Kitkat.
Cannot find the discussions... I´m curious
HelloBoy26 said:
Hello! I have 2 Fetchs. One for the One Max and One for the One m7. My Fetch works great with One m7 on Kitkat.
Cannot find the discussions... I´m curious
Click to expand...
Click to collapse
Glad to hear it. I found a couple of places where two or three people reported problems.
http://androidandme.com/2014/02/news/sprint-htc-one-android-4-4-2-update-available-for-manual-pull/
http://htcsource.com/2014/02/sprint-releases-htc-one-android-4-4-2-update/
Just search 'fetch' within the threads. I found them today by Googling 'HTC Fetch KitKat not working'
@Faxman, thank you. No Problems here. Fetch and Kitkat does the job. Pi pi pi pi pi pi pi pi
Looks like Best Buy US is starting to sell the Fetch for $29. Looks like I'll be owning one soon.
I got my Fetch from BestBuy (see above) and it works as advertised. Only 75% battery charge out of the box.
It indeed showed up as a Bluetooth device in Pebble Locker (see farther above) so I am able to set the phone to remain unlocked while in range of the Fetch and PIN lock if not.
Now, for all you actual developers out there, here's a link to the SDK for the Fetch. Let the fun begin.
I installed the Sprint OTA KitKat update yesterday and the fetch continues to work... sort of. I've found that if I turn the fetch off I have to go in and find it again and pair again.
I also noticed and downloaded the HTC Fetch app in the app store.
It has a nicer interface and apparently a couple of additional features (including the ability to connect to other BT 4 devices)
It apparently connects differently as you can run it without it being paired in regular BT settings and it doesn't retain the annoying Fetch icon in the notification area. BUT, since it no longer shows as a BT device, the Pebble Unlocker app that I use to simulate 'trusted device' doesn't see it and doesn't keep the phone unlocked.
I'm hoping there will be some interest in the developer community because I think there are some enhancements that can and should be made to either or both of the apps.
For one, I'd like to be able to disable change the tone or somehow further delay the alarms that go off when out of range. I do that far too often. However, when that feature is disabled, it also disconnects the BT connection and as above defeats the trusted device functionality mentioned above.
I mostly want to use it so my phone is secure if I'm not nearby and occasionally use the separation alarm feature if I am in a situation where one or the other might be left behind.
i have not noticed any issues with fetch after the sprint 4.x update. im stock non rooted.
thanks for the heads up on a fetch app. ill go smoke it over...