Related
I've seen evidence of this particular problem on the web, but can't seem to locate the reasons or a solution.
I continue to get errors and force closes trying two seemingly simple methods to record audio on the Android.
First, using MediaRecord:
MediaRecorder mRecorder = new MediaRecorder();
Log.d("com.mydevice.RecordAudio: ", " try to setAudioSource");
try{
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
}
catch(IllegalStateException e){
//Never get here
Log.d("com.mydevice.RecordAudio: ", " parm set error");
}
//Never get here either
Log.d("com.mydevice.RecordAudio: ", " successfully setAudioSource");
The above results in the following logcat output:
D/com.mydevice.RecordAudio: ( 1623): try to setAudioSource
E/audio_input( 1104): unsupported parameter: x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value
E/audio_input( 1104): VerifyAndSetParameter failed
D/AndroidRuntime( 1623): Shutting down VM
W/dalvikvm( 1623): threadid=3: thread exiting with uncaught exception (group=0x4001b198)
E/AndroidRuntime( 1623): Uncaught handler: thread main exiting due to uncaught exception
Second method, using AudioRecord:
Log.d("com.mydevice.RecordAudio: ", " try to initialize AudioSource");
AudioRecord mRecorder = new AudioRecord(MediaRecorder.AudioSource.MIC, 8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, 16384);
Log.d(TAG, " recordStart");
try {
mRecorder.startRecording();
} catch (IOException e) {
Log.d(TAG, " recordStart IOException");
}
This results in the following:
D/com.mydevice.RecordAudio: ( 1637): try to initialize AudioSource
D/AudioHardwareMot( 1095): Codec sampling rate already 8000
D/Registration Create( 1637): recordStart
D/Registration Create( 1637): recordStart IOException
From the documentation, I understand that these methods won't necessarily work in the emulator (though I did enable audio and camera in my VMs, just in case), and some people on the 'net indicated that even with emulator errors, a physical phone worked. But, running the two methods above on my phone results in the same errors indicated in the emulator logcat output, with the same force closes.
I am using the SDK revision 5, and tried Android 1.5 (just to try) and 2.1 emulators. I made sure the following was in my manifest:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
I loaded it onto my Motorola Droid 2.1, with Cyanogen 5.0.7.1 and still the errors.
Does anyone have any idea how, or if I can resolve this? I feel like an idiot since it seems so simple...
LOL! Turns out I was being an idiot.
The unsupported parameter message when calling setOutputFormat, was actually not the problem that was causing the force close. Rather, it was the call to setOutputFile. I found this after laboriously adding log messages after every single call.
I tried both local and external storage and using a string and FileDescriptor and nothing was working. Every time I called that method, I got a force close or caught an error in a try/catch. I finally found an example that was sending the correct context. Since I had separated this process from the UI, what I needed to to was instantiate my class with the application context like so:
MyRecordClass(this.getApplicationContext());
and within the MyRecordClass constructor, MyRecordClass(Context context):
this.context = context;
Even though calls to FileOutputStream and getFD() actually still created an empty file without the proper context, the MediaRecorder was obviously crashing and must be due to some sort of context disconnect. Apparently, by adding the above, and now in what I'm guessing is the proper context and even though I still encounter that unsupported parameter error in the logcat, the app continues on without a hitch and I get a valid recording. Joy!
I have now successfully called this process in another thread and even sending .finish() to the UI activity, the recording continues until it's finished (specified by duration). So, there it is...onward.
AudioRecord Problems
Hi!
After a long search on the Internet, I stumbled upon your post about AudioRecord and this gives me hope that my problem might have a solution. I too encountered a problem recording on Milestone (although the code works just fine on Nexus One).
In your reply you mentioned that by setting the correct context you solved it - did it also solve the AudioRecord problem or just the MediaRecorder?
And where did you set a context? From what does your MyRecordClass inherit - Activity? Service?
I am a bit lost here and would welcome any guidance.
Thank you,
Andrey
Hello there, I have a little problem, same like yours, although pass some years.
Meaby u have the solution tothis problem.
Regards!
So, I've done quite a few applications for my old Blackberry and I just jumped ship to an HTC Incredible and have started playing around with development for this phone.
I'm working on my first little app so I can learn, services, AsyncTasks and the UI on Droid. Anyway, I wanted to programmatically load a bitmap file from my SD card and set it as the system wallpaper. I am able to read the file from the SD card using BitmapFactory and get the dimension of the image, however, as soon as I execute the setBitmap() command my application and reference the Bitmap object I created, my application force closes.
Has anyone else done anything like this and can show me some code?
Here is the code I have. Hopefully, this formats correctly.
Code:
WallpaperManager wpm = WallpaperManager.getInstance(this);
Bitmap bmp=BitmapFactory.decodeFile("/sdcard/background.bmp");
// the code below will cause my app to force close
try {
wpm.setBitmap(bmp);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
I'm not very familiar with wallpaper stuff,
but do you have the wallpaper permission in your manifest?
android.permission.BIND_WALLPAPER
Edit: Wrong permission, see below for the right one.
And does the logcat show anything interesting?
(usually you will find a hint to the error there)
Argh! I don't know why I always solve these problems AFTER I post a request for help!
Anyway, if anyone else stumbles across this problem, my error was that I put the SET_WALLPAPER permission <uses-permission android:name="android.permission.SET_WALLPAPER" /> in the wrong part of the manifest. It needed to be AFTER the </application> tag and not before it.
My first voyage down the rooted path was to put Honeycomb on a microSD card. When B&N came out with the 1.2 update, I downloaded that and decided to go the Manual Nooter route.
First of all, many thanks to all who have worked so hard on this! My first objective was to be able to read Kindle and Nook books on my Nook Color, and that is a cinch now! This Manual Nooter setup is more stable than running HC off a card was, and I can access the stock B&N reader and Kindle and other apps without switching cards and rebooting.
I have had only one problem downloading an app from Market so far. I needed to unmount my card before the app would install, but the dev said that this is an issue with the app, not Nook Color or MN.
Gmail would not work with MN 4.5.6, though it worked with 4.5.2. But I downloaded an updated Gmail from Market, and my Gmail problem was cured.
MN includes some "unadvertised" apps, like Facebook and Twitter. I can't seem to uninstall them. Does anyone know how that might be done?
Overall, I'm a happy camper. But I would like to know how to get rid of Facebook and Twitter.
Have you tried using Titanium Backup to uninstall them?
Windsor1959 said:
MN includes some "unadvertised" apps, like Facebook and Twitter. I can't seem to uninstall them. Does anyone know how that might be done?
Overall, I'm a happy camper. But I would like to know how to get rid of Facebook and Twitter.
Click to expand...
Click to collapse
I'm pretty sure those aren't part of MN. If they are, I don't know what they're stuffed in because there isn't an apk for them.
By the way, gmail worked perfect me right out of the gate.
doncaruana said:
I'm pretty sure those aren't part of MN. If they are, I don't know what they're stuffed in because there isn't an apk for them.
By the way, gmail worked perfect me right out of the gate.
Click to expand...
Click to collapse
Looks to me like Twitter and Facebook were in 4.5.2, but were not included in 4.5.6.
Anyways, if you don't want them, just to go system\app, mount as RW, and delete the apk.
EDIT: oh and for the gmail, I found the upgrade from 4.5.2 to 4.5.6 caused a FC on open. But deleting the cache\data cures it. I guess a re-install also works!
Would I need an app like Root Explorer to be able to mount as RW when I go to system/app? I see that a lot of folks have Titanium backup and Root Explorer, so maybe I'd find them pretty useful.
Thanks for the replies.
Both are well worth the money but imo root explorer is a must buy if you nooter.
Sent from my SAMSUNG-SGH-I897 using XDA App
I installed Titanium Backup, and I was able to uninstall Facebook and Twitter with it. Root Explorer looks like something worth the price, too.
Here's a newbie question: Titanium Backup gave me a window telling me I should activate USB debugging on my Nook Color. I'm guessing that USB debugging involves me connecting my Nook Color to a PC or laptop, but what does it actually mean? Thanks!
Edit: Okay, I found my answer for USB debugging. If I want to use ADB to push things into my Nook, or use Titanium Backup to backup my apps, I'll need to enable USB debugging. (Does that sound right?)
Apps force closing
I've rooted the NC since I first got it and tried all different versions when I finally settled on AutoNooter and loved it. When the 1.2 update came out I updated and hated the stock version so went with ManualNooter as soon as it was "kind of up and running OK". The NookHome app takes care of the In-Store stuff. Thanks to everyone working on all of these updates.
The problem I had was that GoogleSearch bar and News and Weather app would force close. Managed to fix the GoogleSearch bar with the FakeGPS app. works fine now. ---- Still have the News and Weather app which came with the installation .zip 4.5.6 in MN force closing though. Tried force-stop and clear Data didn't do anything.
Can't find it on Market either so I could reinstall it. Anyone have ANY ideas? I always loved that app on previous versions and would like to use it.
andream2g said:
I've rooted the NC since I first got it and tried all different versions when I finally settled on AutoNooter and loved it. When the 1.2 update came out I updated and hated the stock version so went with ManualNooter as soon as it was "kind of up and running OK". The NookHome app takes care of the In-Store stuff. Thanks to everyone working on all of these updates.
The problem I had was that GoogleSearch bar and News and Weather app would force close. Managed to fix the GoogleSearch bar with the FakeGPS app. works fine now. ---- Still have the News and Weather app which came with the installation .zip 4.5.6 in MN force closing though. Tried force-stop and clear Data didn't do anything.
Can't find it on Market either so I could reinstall it. Anyone have ANY ideas? I always loved that app on previous versions and would like to use it.
Click to expand...
Click to collapse
Hrm... I was of the understanding that News and Weather was FCing because there was no location. This isn't the case if you're using FakeGPS perhaps you could grab and post a logcat from when trying to run it?
I'm also experiencing this with News and Weather. I just installed Fake GPS and it took care of the Google search issue I also had. I went from a stock 1.2 to 4.5.6.
Also anyone had any luck with HBO GO app? It isn't listed in market, but I tried to download from Android site and it says I have no Android phone in my account......
GabrialDestruir said:
Hrm... I was of the understanding that News and Weather was FCing because there was no location. This isn't the case if you're using FakeGPS perhaps you could grab and post a logcat from when trying to run it?
Click to expand...
Click to collapse
I appologize if this log isn't quiet what you had in mind. It seems to forceclose because it can't get a location. Maybe I need to find something else to fake a location.
Here is a log:
cmp=com.google.android.apps.genie.geniewidget/.activities.NewsActivity }
05-09 10:54:40.124 I/ActivityManager( 966): Start proc com.google.android.apps.genie.geniewidget for activity com.google.android.apps.genie.geniewidget/.activities.NewsActivity: pid=1392 uid=10003 gids={3003, 1015}
05-09 10:54:40.407 D/WifiService( 966): ACTION_BATTERY_CHANGED pluggedType: 0
05-09 10:54:40.831 E/AndroidRuntime( 1392): FATAL EXCEPTION: Thread-12
05-09 10:54:40.831 E/AndroidRuntime( 1392): java.lang.IllegalArgumentException: provider=network
05-09 10:54:40.890 W/ActivityManager( 966): Force finishing activity com.google.android.apps.genie.geniewidget/.activities.NewsActivity
05-09 10:54:40.904 I/ActivityManager( 966): Process com.google.android.apps.genie.geniewidget (pid 1392) has died.
05-09 10:54:40.904 W/ActivityManager( 966): Scheduling restart of crashed service com.google.android.apps.genie.geniewidget/.GenieRefreshService in 5000ms
05-09 10:54:40.906 I/WindowManager( 966): WIN DEATH: Window{4a12f678 com.google.android.apps.genie.geniewidget/com.google.android.apps.genie.geniewidget.activities.NewsActivity paused=true}
05-09 10:54:40.960 W/InputManagerService( 966): Got RemoteException sending setActive(false) notification to pid 1392 uid 10003
05-09 10:54:45.921 I/ActivityManager( 966): Start proc com.google.android.apps.genie.geniewidget for service com.google.android.apps.genie.geniewidget/.GenieRefreshService: pid=1409 uid=10003 gids={3003, 1015}
ActivityManager( 966): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.apps.genie.geniewidget/.activities.NewsActivity }
05-09 10:57:21.527 E/AndroidRuntime( 1409): FATAL EXCEPTION: Thread-12
05-09 10:57:21.527 E/AndroidRuntime( 1409): java.lang.IllegalArgumentException: provider=network
05-09 10:57:21.573 W/ActivityManager( 966): Force finishing activity com.google.android.apps.genie.geniewidget/.activities.NewsActivity
05-09 10:57:21.603 I/ActivityManager( 966): Process com.google.android.apps.genie.geniewidget (pid 1409) has died.
05-09 10:57:21.603 W/ActivityManager( 966): Service crashed 2 times, stopping: ServiceRecord{4a29cc20 com.google.android.apps.genie.geniewidget/.GenieRefreshService}
05-09 10:57:21.613 I/WindowManager( 966): WIN DEATH: Window{4a2f6590 com.google.android.apps.genie.geniewidget/com.google.android.apps.genie.geniewidget.activities.NewsActivity paused=true}
05-09 10:57:21.700 W/InputManagerService( 966): Starting input on non-focused client [email protected] (uid=10049 pid=1038)
05-09 10:57:21.702 W/InputManagerService( 966): Client not active, ignoring focus gain of: [email protected]
05-09 10:57:23.271 W/InputManagerService( 966): Got RemoteException sending setActive(false) notification to pid 1409 uid 10003
05-09 10:57:31.654 I/ActivityManager( 966): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=ukzzang.android.app.logviewer/.act.MainAct }
05-09
i was able to install Galery 3D from Android 2.3 and Gingerbread keyboard as well from this thread http://forum.xda-developers.com/showthread.php?t=880068
Manual Nooter rocks ...
I applied manual nooter 4.5.6 to my stock 1.2 and I can't get any of the GApps to work (Market, Gmail, GSearch, News and Weather). They all just force shut down as soon as they start. I've looked at all the apps in the Application Manager and none of them have anything in the cache. I've tried shutting them all down, clearing the data and rebooting, but I'm still not getting anything.
Looking at the luck people were having with the faked location I enabled Allow Mock Locations in the Development Settings, but I can't find anywhere to actually set the location. Since I can't access the market, and 4.5.6 didn't come up with a file manager I can't load any apps (i.e. FakeGPS). Anyone have any ideas?
I think I figured out what most of my issues were... I hadn't done a thorough enough reset when I un-rooted 1.1 to install the B&N 1.2 update. I used clockwork mod to do a factory reset, reinstalled manual nooter and the GApps that are not location dependent are now working. Weird thing... I had to go through the steps for the partial market display. That worked and I installed Astro File Manager. However, something about doing that killed the Market app... started getting the forced shutdown. Gmail still works and YouTube still works, but the Market won't load anymore.
I am replying to this thread with my experience to perhaps further a solution to the remaining problems. I have been running a Nook rooted with Auto Nooter. When 1.2 came out, I restored it to stock, updated to 1.2 and rooted with 4.5.6. I initially had a visibility problem with the market, but following the instructions at these forums, I cured most of that. I have noticed the following remaining issues:
1. Like everyone else, I have found that News and Weather doesn't work; it simply opens and closes.
2. Regarding the market, even after making the visibility fix, I have the following problems:
--The "downloads" tab in the market showed all but one of the apps that I had purchased before the 1.2 update, etc., but it showed none of the free installs. By going to the market on my computer browser, I was able to see all of the old downloads, including the free ones, and the one paid one that didn't show on the Nook. However, I couldn't download anything from there because it insisted that there was no "phone" associated with this account. Of course, this was easily solved for the freebies by downloading them again.
--This one is truly bizarre. The purchased app that I have not been able to recover is something called iBird Pro (for which there is a corresponding free app). This app worked fine under the Auto Nooter. When I search for "iBird" in the market from the Nook, it returns a pick list that includes the words "IBird", "ibird pro", and other similar words and phrases. If I pick any of these for my search term, it returns a response that there are no matches for the word in the market. This seems impossible since the market is clearly getting my request corrrectly, in fact guessing the word before I finish typing it, and from that point it shouldn't matter what my side of the conversation is doing. Of course, if I try the same thing on my desktop, it returns with a list of programs, including IBird Pro. I have tried getting to the app in others ways, such as searching for "bird." The market returns other matches, but not the one I want. I have tried to get at this app using the website "android zoom". When I have a link sent to my Nook by the android zoom website and try to access the market with it, I get an error message. I tried android zoom with an app I was able to retrieve from the market and it worked. I don't know if this happens with any other app, but I'd be surprised if it did not.
I've done some additional research here as well and what I've discovered is that I'm getting a single download out of the Market. After that the application doesn't seem to run anymore. I've tried redoing the "fix market" steps and rebooting, but after the first market download/install the Market App just won't run anymore. Doesn't seem to matter what the app is either as I've tried a couple. The only similarity so far is that I've stuck with free apps.
Nook Social App broken after root
I read. A lot, which is why I bought the NC. The thing that made me root it was a.) I root everything and b.) email on the NC SUCKED and very few apps (missed my Maildroid). Since I do read and share what I read (I'm a writer by day, tech junkie at night) I'm a little disappointed that NC social sharing app that came with stock is not letting me change the password settings to my FB account. I recently changed my FB password and went into the stock settings to change the pw and I get an, "Invalid Parameters!" message. How do I correct that? It is really important to me to have that feature.
Seems like there are precious few of us out there still using rooted stock - probably 90% of the posts refer to CM7. Personally I tried it (around r83 or so) and it didn't do anything for me, so I'm still on rooted stock 1.2. And I would love for that damned book icon to still work like it does on my rooted 1.1!
Eventually the OS kills the home app if it's just in the background (or something happens) and even that doesn't allow it to work anymore (until you 'refresh' it). So I was wondering if anyone else even cares anymore or if there's any possibility of some more work towards getting it operational. I'd be glad to help in any way I could. I've even kept one of my two nooks on 1.1 just because it still works there even after rooted so I could compare or something.
Anyone still interested in getting the book icon to work on 1.2??
Well, for what it's worth, a little logcat action yielded some interesting info (at least to me).
On my 1.1 rooted nook, with the home launcher *not* running, when I press the book icon it actually starts the nook home app up and the affiledownload service:
D/StatusBar( 829): Sending intent to launch last book
I/ActivityManager( 829): Start proc com.bn.nook.home for broadcast com.bn.nook.home/.HomeBroadcastReceiver: pid=2233 uid=10000 gids={1015, 3003, 2001}
I/ActivityManager( 829): Start proc com.bn.nook.affiledownloadservice for service com.bn.nook.affiledownloadservice/.AFfileDownloadService: pid=2241 uid=10000 gids={1015, 3003, 2001}
D/FileDownloadService( 2233): initService() bound with true
I/ActivityManager( 829): Starting activity: Intent { act=android.intent.action.VIEW dat=<...path to book to be read....> }
Afterward, I see both the home and affiledownload service are now running on 1.1
Now, on my 1.2 rooted nook, with the home app not running, when I press the icon, it tries to launch, but seems to fail:
D/StatusBar( 1049): Sending intent to launch last book
I/ActivityManager( 1049): Start proc com.bn.nook.home for broadcast com.bn.nook.home/.HomeBroadcastReceiver: pid=13588 uid=10000 gids={1015, 3003, 2001}
D/DeviceManagerBroadcastReceiver( 1284): action (com.bn.devicemanager.ACTION_DEVICE_USAGE)
D/FileDownloadService(13588): initService() bound with true
I/DeviceManagerHandler( 1284): HandleMessage(): msg.what (7)
D/FileDownloadService(13588): Service Check :Service is ready
D/FileDownloadService(13588): onServiceConnected() connected
Subsequent attempts no longer try to launch the services, because they are loaded, but the icon still doesn't work.
I haven't gone any farther into the difference yet and I'm just sort of clumsily diving through this. I'll look at the home app and the device manager next to see if anything is of interest there. My hope is that I'll find something that will flip the light on to one of the devs and they can throw something together to fix this.
If anyone else has anything to offer or thinks I'm crazy or on the wrong track, please pipe in...
Little more work here and I looked at the events buffer as well, turned on the timings and merged them. I'm not sure why, but you can see that 1.1 launches the affiledownload service which it seems is key to opening the file. For 1.2, the devicemanager pops here instead of the downloadservice, but I don't get why.
After the last firmware update (V30b-EUR-XX), the Google Duo application started to inject its icon into the phone contacts. Not only that - when I disable the Duo application, the next day it gets enabled again. The same with Google Chrome - when I disable it, it gets enabled again. Before the firmware update, this didn't happen, though I cannot tell whether Google Duo was installed then (in every case, Duo icon was not visible and Chrome stayed disabled).
Q: I'd like to disable both applications (Duo and Chrome) permanently. How can I do that? What process enables them when they are disabled? Can this process be disabled itself?
I didn't notice this problem on any other phone in my family, so I guess that this is a "feature" of the LG firmware.
very useful tutorial for removing any bloatware/preinstalled app. https://www.xda-developers.com/uninstall-carrier-oem-bloatware-without-root-access/
This looks promising.However, before I try that:
Isn't this just a way to uninstall applications that can't be disabled in a normal way (in the Settings > Applications menu)? Because I am able to disable and uninstall Duo and Chrome in the normal way, but the problem is, that they get enabled again the next day.
If this method is different from normal disabling, wouldn't it prevent installation of new versions of firmware? Like rooting does, usually.
rawalian said:
very useful tutorial for removing any bloatware/preinstalled app. https://www.xda-developers.com/uninstall-carrier-oem-bloatware-without-root-access/
Click to expand...
Click to collapse
I followed this tutorial, and successfully uninstalled both annoying apps, thanks! Now I hope that this won't prevent firmware updates.
Just for info:
Google Duo was re-enabled every night by the "Google One Time Init" service. Since I disabled this service, Duo remained disabled. "Google One Time Init" was evidently not executed only once.
Google Chrome was re-enabled and re-installed almost every day by something called LGPackageLabelReceiver. I wasn't able to find out what service it belongs to.
LGPackageLabelReceiver,
onReceive: Intent {
act=android.intent.action.PACKAGE_REMOVED
dat=package:com.android.chrome
flg=0x4000010 (has extras)
}
2020-07-28 03:09:02.656
LGPackageLabelReceiver,
onReceive: Intent {
act=android.intent.action.PACKAGE_ADDED
dat=package:com.android.chrome
flg=0x4000010 (has extras)
}
2020-07-28 03:09:02.719