AndroidManifest清单文件中已经声明Application的name,但getApplicationContext()获取的时候仍然空指针异常
来源:互联网 发布:网络推广招聘信息 编辑:程序博客网 时间:2024/05/21 17:33
public class MyApplication extends Application { private static MyApplication instance; /** * 初始化 */ @Override public void onCreate() { super.onCreate(); } /** * 单例获取application实例 */ public static MyApplication getInstance() { synchronized (MyApplication .class) { if (instance == null) { instance = new MyApplication (); } return instance; } }}
清单文件:
<application android:name="com.xxx.xxx.app.MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" tools:replace="icon,label" android:supportsRtl="true" android:theme="@style/AppTheme">
当需要使用到MyApplication的时候,比如在某个activity中使用Context context = MyApplication .getInstance().getApplicationContext(); 也比如使用百度地图sdk的时候初始化SDKInitializer.initialize(getApplicationContext()); 报空指针
这时候获取到的context为空
因为在其他模块第一次使用的时候执行 instance = new MyApplication (); 因为Application在清单文件中注册之后系统默认是单例模式的,而使用 new MyApplication (); 并不会执行onCreate方法, 所以Application本身是和原先的系统生成的Application不是同一个pid,所以会报空,而对于Application的正确写法是:
public class MyApplication extends Application { private static MyApplication instance; /** * 初始化 */ @Override public void onCreate() { super.onCreate(); instance = this; } /** * 单例获取application实例 * @return MyApplication */ public static MyApplication getInstance() { return instance; }}
阅读全文
2 0
- AndroidManifest清单文件中已经声明Application的name,但getApplicationContext()获取的时候仍然空指针异常
- 如何获取清单文件AndroidManifest中meta_data元素的信息
- AndroidManifest.xml中定义的application name的作用
- AndroidManifest.xml中定义的application name的作用
- AndroidManifest.xml中定义的application name的作用
- Android的清单文件AndroidManifest
- Android 的空activity中AndroidManifest中application
- Java遍历磁盘文件的时候出现空指针异常(NullPointException)
- Android应用的清单文件:AndroidManifest.xml
- AndroidManifest.xml:Android应用的清单文件
- 用List的时候遇到的一个空指针异常
- Android因为Application导致的空指针异常
- AndroidManifest.xml清单文件详解--application节点
- 再使用java list的时候出现空指针异常
- JdbcTemplate自动注入的时候出现空指针异常
- setAdapter的时候,总是报错 空指针异常
- 调用jni的时候出现transformNativeLibsWithStripDebugSymbolForRelease空指针异常
- Mybatis中selectOne的空指针异常
- The content of the adapter has changed but ListView did not receive a notification终极解决方法
- Java设计模式详解之一工厂方法模式
- PHP CLI下的配置处理
- ZOJ
- hdoj 2002
- AndroidManifest清单文件中已经声明Application的name,但getApplicationContext()获取的时候仍然空指针异常
- 深入理解HBase Indexer
- 不能引用另一方法中定义的内部类中非终态变量
- 正则表达式处理字符串
- CDN工作原理(CNAME)
- springboot项目打包部署时把静态资源打包到jar中、或修改静态资源根目录
- CGlib代理示例demo
- 使用VS2015 创建C++动态链接库并调用
- Kotlin 喧嚣过后,谈谈 Java 程序员未来的出路