Thanks for clearing this up for me, Now i understand what i did, and offcourse i did send null to context and that will not work. now i do like this: if (isProInstalled(this)
and then it will be PackageManager manager = this.getPackageManager(); I have to say that your answer was very good, thanks for the time it took you. On 19 Maj, 21:47, "Jason Teagle" <teagle.ja...@gmail.com> wrote: > >Well the problem is that iam trying to make somthing happen that iam > >not really understand (iam trying to learn) > > >So what i wanna do is to "grabb" the "return true" or the "return > >false" so that i could create my if statement. > > In that respect - using the static function call to grab the result for an if > statement - you were using it correctly. > > What you must understand, though, is that in order to get through that static > method and return an answer to you, it must execute the code within the > method. That means that you must pass it valid data to work with (or code to > *expect* null references as an acceptable condition), otherwise at run time > it will do exactly what it did to you - throw an exception. > > An exception is the Java mechanism for alerting you to the fact that > something bad happened at run time, and it exits out to the nearest catch > handler it can as soon as possible - but not exactly gracefully (it may > unwind the stack for you, but it won't return the value you intended - > because code never gets that far). If you don’t explicitly add a try / catch > block higher up the call chain, then your app will die. > > For defending against exceptions you could use a try / catch block around the > code in your isProInstalled() method - but in your case I advise against that > for now, as it's likely going to hide a lot of problems you will encounter > until your understanding improves. > > If your method is asking for a context and trying to use it, ask yourself why > you are not passing it any valid context. Can you get a valid context to pass > to it? > > If you *want* to be able to get a quick answer without passing a valid > context, then you need to code your method to check the context reference > before you use it - and return an appropriate response if it is null. For > example: > > protected static boolean isProInstalled(Context context) { > if (context == null) > return false ; // No valid context - can't tell if it's installed. > PackageManager manager = context.getPackageManager(); > ... > > Since your method requires the context to be able to do its job, you need to > try and get a valid context to pass to the method. > > If you are calling this code somewhere from an Activity, then the activity > itself is a context you can pass (as ‘this’). -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en