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.