Thank you very much, Peli. I got it.

My mistake was that I thought SCREEN_ON/SCREEN_OFF events will be
broadcasted when the screen turns dim automatically. It's my
misunderstanding, now I know it will be broadcasted only when (on
emulator) the red phone button is pressed.

Thanks a lot.
Jiaoni

On Jul 21, 12:36 am, Peli <[email protected]> wrote:
> In your main activity, you have to write something like
>
>     BroadcastReceiver mReceiver = new BroadcastReceiver() {
>             @Override
>             public void onReceive(Context context, Intent intent) {
>                     Log.v(TAG, "onReceive()");
>             }
>     };
>
>     @Override
>     protected void onResume() {
>         super.onResume();
>         IntentFilter filter = new IntentFilter
> (Intent.ACTION_SCREEN_ON);
>         registerReceiver(mReceiver, filter);
>     }
>
>     @Override
>     protected void onPause() {
>         super.onPause();
>         unregisterReceiver(mReceiver);
>     }
>
> Peliwww.openintents.org
>
> On Jul 20, 5:33 pm, jiaoni <[email protected]> wrote:
>
> > I tried this in my activity, but still cannot receive event:
>
> > MessageReceiver receiver = new MessageReceiver();
> > IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
> > registerReceiver(receiver, filter);
>
> > I feel frustrated and don't know why...
>
> > On Jul 20, 9:58 pm, JP <[email protected]> wrote:
>
> > > I've double checked my code and found I'm doing this slightly
> > > differently, although the method above should also work.
>
> > > Strike "Register" broadcast receiver in the manifest - this seems to
> > > be meerly a declaration of the receiver. No intent filters; I check
> > > the specific event types _ON/_OFF in the receiver's onReceive()
> > > method.
> > > The key: I register the BroadcastReceiver manually, using
> > > Context.registerReceiver(BroadcastReceiver receiver, IntentFilter
> > > filter)
>
> > > On Jul 19, 8:22 pm, jiaoni <[email protected]> wrote:
>
> > > > Thanks, JP. I have added following lines in AndroidManifest.xml, but
> > > > still cannot receive any message in my BroadcastReceiver's onReceive()
> > > > method. Is there anything I did wrong, or may I need some permission
> > > > to receiveSCREEN_ON/SCREEN_OFF message? Please help.
>
> > > > <receiver android:name=".MessageReceiver" android:process=":remote">
> > > >         <intent-filter>
> > > >                         <action 
> > > > android:name="android.intent.action.SCREEN_ON"></action>
> > > >         <action 
> > > > android:name="android.intent.action.SCREEN_OFF"></action>
> > > >                         </intent-filter>
> > > > </receiver>
>
> > > > On Jul 18, 7:02 am, JP <[email protected]> wrote:
>
> > > > > 1. You need to create a subclass of BroadcastReceiver, override
> > > > > onReceive(Context context, Intent intent).
> > > > > In onReceive(), extract action from intent and catch ACTION_SCREEN_ON
> > > > > and ACTION_SCREEN_OFF
> > > > > 2. Next you need to register the BroadcastReceiver in
> > > > > AndroidManifest.xml
>
> > > > > On Jul 17, 12:02 am, jiaoni <[email protected]> wrote:
>
> > > > > > How can I catchSCREEN_ON/SCREEN_OFF broadcasts?
>
> > > > > > I have tried for hours, but failed. Please help.
>
> > > > > > Thanks a lot.
--~--~---------~--~----~------------~-------~--~----~
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