Hi,

Usually we register for broadcast receiver in onResume() & unregister
broadcast receiver in onPause() method.
Try it out.

Regards,
Ramya


On Wed, Sep 18, 2013 at 1:24 PM, shridutt kothari <shriduttkoth...@gmail.com
> wrote:

> Hi Prasad,
>
> It seems that you are getting error in
> context.registerReceiver(**myReceiver, verifyFilter);
>
> Probably because the ACTION_VERIFY_VALUE might not be properly defined in
> Intent.java, please varify on how to register new Intent action in AOSP.
> As per all your above code everything looks fine, just the registration of
> that intent filter is causing the Exception, So cross check the intent
> filter availability in AOSP.
>
> Hope it helps!
> Shridutt Kothari
> Impetus Infotech Limited
> shriduttkoth...@gmail.com
>
>
> On Tuesday, September 17, 2013 5:58:12 PM UTC+5:30, Prasad wrote:
>>
>> Hi All,
>>
>>    In my Android project I am reading a data from hardware device. I have
>> Service class which contains a thread reading continuously data from
>> hardware.  while reading data from hardware I will check true = 1 or false
>> = 0 values. My code is like below,
>>
>> public class MyService extends IMyservice.Stub{
>>
>>     class MyThread extends Thread{
>>
>>           public void run(){
>>
>>                   int value = dataFromHardware();
>>                   updateValueToUi(value);
>>           }
>>     }
>>
>> }
>>
>> The above class in in a path of AOSP:  frameworks/base/services/**
>> java/com/android/server/**MyService.java
>>
>> In the above code the thread will start when MyService class gets a event
>> from user and it reads data from hardware giving value. Now I want that
>> value to pass to UI. For that I am creating updateValueToUi(**value)
>> method so that I can Broadcast it to user. Here I dont know how to
>> broadcast above value to UI. Compared with other code and I tried
>> following mechanism to pass value to UI but it's giving NullpointerException
>>  Here is a code,
>>
>>    public void updateValueToUi(int value){
>>
>>         Intent intent = new Intent(Intent.ACTION_VERIFY_**VALUE);
>>         int myValue = value;
>>         intent.putExtra("verifyKey", myValue);
>>         intent.setFlags(Intent.FLAG_**ACTIVITY_NEW_TASK);
>>         mContext.sendBroadcastAsUser(**intent, UserHandle.CURRENT);
>>  }
>>
>> The value 'ACTION_VERIFY_VALUE' I defined in Intent.java class. and
>> receiving in application side like below
>>
>> public BroadcastReceiver myReceiver = new BroadcastReceiver{
>>
>>           public void onReceive(Context context, Intent intent){
>>
>>              if("android.intent.action.**ACTION_VERIFY_VALUE".equals(**
>> intent.getAction())){
>>
>>                  updateVerifyValue(intent);
>>              }
>>           }
>>
>>        myMethod(){
>>
>>          verifyFilter = new IntentFilter();
>>                verifyFilter.addAction(**Intent.ACTION_VERIFY_VALUE);
>>                context.registerReceiver(**myReceiver, verifyFilter);
>>                Toast.makeText(context, "verify clicked", 30).show();
>>        }
>>     }
>>
>> The above code giving me below eroor :
>>
>>  FATAL EXCEPTION: main
>> E/AndroidRuntime( 3934): java.lang.NullPointerException
>> E/AndroidRuntime( 3934): at android.app.**ActivityManagerProxy.**
>> registerReceiver(**ActivityManagerNative.java:**2097)
>> E/AndroidRuntime( 3934): at android.app.ContextImpl.**
>> registerReceiverInternal(**ContextImpl.java:1338)
>> E/AndroidRuntime( 3934): at android.app.ContextImpl.**
>> registerReceiver(ContextImpl.**java:1306)
>> E/AndroidRuntime( 3934): at android.app.ContextImpl.**
>> registerReceiver(ContextImpl.**java:1300)
>> E/AndroidRuntime( 3934): at android.content.**ContextWrapper.**
>> registerReceiver(**ContextWrapper.java:423)
>> E/AndroidRuntime( 3934): at com.example.biometricclient.**
>> BioClient$2.onClick(BioClient.**java:97)   // my class in app layer
>> E/AndroidRuntime( 3934): at android.view.View.**
>> performClick(View.java:4202)
>> E/AndroidRuntime( 3934): at android.view.View$**
>> PerformClick.run(View.java:**17340)
>> E/AndroidRuntime( 3934): at android.os.Handler.**
>> handleCallback(Handler.java:**725)
>> E/AndroidRuntime( 3934): at android.os.Handler.**
>> dispatchMessage(Handler.java:**92)
>> E/AndroidRuntime( 3934): at android.os.Looper.loop(Looper.**java:137)
>> E/AndroidRuntime( 3934): at android.app.ActivityThread.**
>> main(ActivityThread.java:5039)
>> E/AndroidRuntime( 3934): at java.lang.reflect.Method.**invokeNative(Native
>> Method)
>> E/AndroidRuntime( 3934): at java.lang.reflect.Method.**
>> invoke(Method.java:511)
>> E/AndroidRuntime( 3934): at com.android.internal.os.**ZygoteInit$**
>> MethodAndArgsCaller.run(**ZygoteInit.java:793)
>> E/AndroidRuntime( 3934): at com.android.internal.os.**
>> ZygoteInit.main(ZygoteInit.**java:560)
>> E/AndroidRuntime( 3934): at dalvik.system.NativeStart.**main(Native
>> Method)
>> W/ActivityManager( 2716):   Force finishing activity
>> com.example.biometricclient/.**BioClient
>>
>>
>> In between this i have Manager class and AIDL file in
>> framework/base/core/java/**android/os to access API from MyService to
>> App layer.
>>
>> Is I am following right way ? If no how to solve this problem.
>>
>>
>>  --
> --
> unsubscribe: android-porting+unsubscr...@googlegroups.com
> website: http://groups.google.com/group/android-porting
>
> ---
> You received this message because you are subscribed to the Google Groups
> "android-porting" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to android-porting+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

--- 
You received this message because you are subscribed to the Google Groups 
"android-porting" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-porting+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to