{"id":33071,"date":"2023-02-04T05:37:43","date_gmt":"2023-02-04T00:07:43","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/"},"modified":"2023-02-04T05:37:43","modified_gmt":"2023-02-04T00:07:43","slug":"solved-nullpointerexception-in-android-how-to-set-context","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/","title":{"rendered":"[Solved] NullPointerException in android: how to set context?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-40818065\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"40818065\" data-parentid=\"40817284\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>You might want to set a constant for extra key, to avoid typos or something that looks like A but typed in wrong language. Also it&#8217;s good to have constants for actions<\/p>\n<pre><code>private static final String EXTRA_A = \"A\";\nprivate static final String A_RESTORE = \"restore\";\nprivate static final String A_CLOSE = \"close\";\n<\/code><\/pre>\n<p>I don&#8217;t know if you do, but not call <code>onNewIntent()<\/code> manually. Also <code>onNewIntent()<\/code> might not be called if your Activity is destroyed when you click on notification. You need to make two entries to check for intent, one for when activity is already running and you get <code>onNewIntent()<\/code>, and one if it&#8217;s re-created and you get intent in onCreate()<\/p>\n<pre><code>@Override\nprotected void onCreate(Bundle b) {\n    super.onCreate(b);\n    \/\/ init views and stuff, and in final onCreate line handle the intent\n    handleIntent(getIntent());\n}\n\n@Override\nprotected void onNewIntent(Intent intent) {\n    super.onNewIntent(intent); \/\/ Make sure to call super\n    handleIntent(intent);\n}\n<\/code><\/pre>\n<p>The crash means that your Intent does not really contain extra &#8220;A&#8221;. You cannot use <code>switch<\/code> on a null string, thus you&#8217;d be safe if you check if A is null.<\/p>\n<pre><code>private void handleIntent(Intent intent) {\n    final String a = intent.getStringExtra(EXTRA_A);\n    if (a != null) {\n        switch (a) {\n           case A_RESTORE:\n               ...\n\n           case A_CLOSE:\n               ...\n<\/code><\/pre>\n<p>Do not modify the same intent for different <code>PendingIntents<\/code>. They are mutable and <code>getActivity()<\/code> does not create a defensive copy.<\/p>\n<pre><code>final Intent resultIntentRestore = new Intent(this, Adult1Activity.class);\nresultIntentRestore.putExtra(EXTRA_A, A_RESTORE);\nPendingIntent restoreIntent = PendingIntent.getActivity(Adult1Activity.this, \n        0, resultIntentRestore, PendingIntent.FLAG_UPDATE_CURRENT);\n\nfinal Intent resultIntentClose = new Intent(this, Adult1Activity.class);\nresultIntentClose.putExtra(EXTRA_A, A_CLOSE);\nPendingIntent closeIntent = PendingIntent.getActivity(Adult1Activity.this, \n        2, resultIntentClose, PendingIntent.FLAG_UPDATE_CURRENT);\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">4<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved NullPointerException in android: how to set context? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You might want to set a constant for extra key, to avoid typos or something that looks like A but typed in wrong language. Also it&#8217;s good to have constants for actions private static final String EXTRA_A = &#8220;A&#8221;; private static final String A_RESTORE = &#8220;restore&#8221;; private static final String A_CLOSE = &#8220;close&#8221;; I &#8230; <a title=\"[Solved] NullPointerException in android: how to set context?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/\" aria-label=\"More on [Solved] NullPointerException in android: how to set context?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[452],"class_list":["post-33071","post","type-post","status-publish","format-standard","hentry","category-solved","tag-android"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] NullPointerException in android: how to set context? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] NullPointerException in android: how to set context? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You might want to set a constant for extra key, to avoid typos or something that looks like A but typed in wrong language. Also it&#8217;s good to have constants for actions private static final String EXTRA_A = &quot;A&quot;; private static final String A_RESTORE = &quot;restore&quot;; private static final String A_CLOSE = &quot;close&quot;; I ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-04T00:07:43+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] NullPointerException in android: how to set context?\",\"datePublished\":\"2023-02-04T00:07:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/\"},\"wordCount\":158,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"android\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/\",\"name\":\"[Solved] NullPointerException in android: how to set context? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2023-02-04T00:07:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] NullPointerException in android: how to set context?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] NullPointerException in android: how to set context? - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] NullPointerException in android: how to set context? - JassWeb","og_description":"[ad_1] You might want to set a constant for extra key, to avoid typos or something that looks like A but typed in wrong language. Also it&#8217;s good to have constants for actions private static final String EXTRA_A = \"A\"; private static final String A_RESTORE = \"restore\"; private static final String A_CLOSE = \"close\"; I ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/","og_site_name":"JassWeb","article_published_time":"2023-02-04T00:07:43+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] NullPointerException in android: how to set context?","datePublished":"2023-02-04T00:07:43+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/"},"wordCount":158,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["android"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/","url":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/","name":"[Solved] NullPointerException in android: how to set context? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2023-02-04T00:07:43+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-nullpointerexception-in-android-how-to-set-context\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] NullPointerException in android: how to set context?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/33071","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=33071"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/33071\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=33071"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=33071"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=33071"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}