在AlarmManager中获取GetDabataseLocked + NPE

问题描述 投票:0回答:2

我有一个AlarmManager,每天都在同一时间运行。警报的目的是在sqlite和MySQL之间同步应用程序。

问题是当我使用我的sqlite数据库时,我使用:

SQLiteDatabase db = this.getWritableDatabase();

这行给了我一个NPE可能因为这是null(因为该方法在应用程序之外调用)

我怎么能把这一行写成与上下文无关的?

android mysql sqlite alarmmanager
2个回答
0
投票

getDatabaseLocked()的NPE是因为你通过nullContextSQLiteOpenHelper构造函数。


0
投票

Issue is

The Context that you are passing to the SQLiteOpenHelper constructor is null.

solution

传递应用程序context.make一个java类并使用应用程序类扩展它并返回context.also将此类添加到应用程序标记中的清单中,如:

android:name="com.yourpkgname.yourclassname"
© www.soinside.com 2019 - 2024. All rights reserved.