I find it works on 2.1 and 1.5 device(emualtor), but it doesn't work
on my nexus one(2.2) or 2.2 emulator?  why?

On 7月15日, 上午12時23分, Streets Of Boston <[email protected]> wrote:
> It works fine for me on my motorola droid, nexus one and G1.
> Did you properly register your broadcast receiver, both in code and in
> the Android Manifest XML?
>
> On Jul 13, 7:21 pm, ls02 <[email protected]> wrote:
>
>
>
> > I tried this on Motorola DROID and it does not work. I do not receive
> > any events in receiver onReceive.
>
> > On Jul 10, 9:23 pm, Streets Of Boston <[email protected]> wrote:
>
> > > Register your broadcast receiver like this:
>
> > > IntentFilter intentFilter = new
> > > IntentFilter(Intent.ACTION_MEDIA_EJECT);
> > > intentFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);
> > > intentFilter.addDataScheme("file");
> > > intentFilter.addDataAuthority("*", null);
> > > intentFilter.addDataPath((mIsExternal
> > >                            ?CursorUtils.EXTERNAL_STORAGE_ROOT
> > >                            
> > > :CursorUtils.PHONE_STORAGE_ROOT).getAbsolutePath(),
> > > PatternMatcher.PATTERN_LITERAL);
> > > context.registerReceiver(this, intentFilter);
>
> > > Then close all your files when you get an ACTION_MEDIA_EJECT
> > > and re-open them (if necessary) on ACTION_MEDIA_MOUNTED.
> > > (in the 'public void onReceive(Context context, Intent intent)' method
> > > of this broadcast receiver).
>
> > > (EXTERNAL_STORAGE_ROOT is the standard value for external-storage
> > > (usually "/sdcard") and PHONE_STORAGE_ROOT is "/emmc" (for HTC
> > > Incredible and such phones)).
>
> > > I'm not sure if this is the 'official' way of doing it, but it works
> > > for me. :)
>
> > > On Jul 10, 3:50 pm, ls02 <[email protected]> wrote:
>
> > > > I register for this broadcast. However the process is killed before I
> > > > receive any broadcast event.
>
> > > > On Jul 10, 2:59 pm, Dianne Hackborn <[email protected]> wrote:
>
> > > > > There is a broadcast sent when the SD card is being unmounted (sorry 
> > > > > I don't
> > > > > remember the name off-hand).  You should close all your files at that 
> > > > > point.
> > > > >  If you don't, the platform needs to kill the process because Linux 
> > > > > can't
> > > > > unmount the file system while any files remain open on it.
>
> > > > > On Sat, Jul 10, 2010 at 10:35 AM, ls02 <[email protected]> wrote:
> > > > > > I found that Android kills my app process that has files open on SD
> > > > > > card when the card is mounted when the device connects to a 
> > > > > > computer.
> > > > > > It is done without any notification, I see in the log something like
> > > > > > KillProcessWithFilesOpenedOnCard message, my app receives no
> > > > > > notification, has no chance to gracefully shutdown. Moreover Android
> > > > > > restarts my app immediately after killing it with latest Activity 
> > > > > > not
> > > > > > the default activity launched in default standard mode. It does it
> > > > > > while the card is still mounted and device is still connected to a
> > > > > > computer.
>
> > > > > > Can someone explain this all to me, how it I supposed to work, and 
> > > > > > if
> > > > > > there is any way to alter this weird rude behavior? Particularly, if
> > > > > > there is way to get any notification before the process is killed by
> > > > > > the OS and to prevent relaunching it while the card is still 
> > > > > > mounted?
>
> > > > > > --
> > > > > > You received this message because you are subscribed to the Google
> > > > > > Groups "Android Developers" group.
> > > > > > To post to this group, send email to 
> > > > > > [email protected]
> > > > > > To unsubscribe from this group, send email to
> > > > > > [email protected]<android-developers%2Bunsubs
> > > > > >  ­­[email protected]>
> > > > > > For more options, visit this group at
> > > > > >http://groups.google.com/group/android-developers?hl=en
>
> > > > > --
> > > > > Dianne Hackborn
> > > > > Android framework engineer
> > > > > [email protected]
>
> > > > > Note: please don't send private questions to me, as I don't have time 
> > > > > to
> > > > > provide private support, and so won't reply to such e-mails.  All such
> > > > > questions should be posted on public forums, where I and others can 
> > > > > see and
> > > > > answer them.- Hide quoted text -
>
> > > > - Show quoted text -- Hide quoted text -
>
> > - Show quoted text -

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to