I discovered in my project that the close() function in the SQLiteDatabase implementation on Android throws a NullPointerException when running multiple threads that open th
You don't need to bother. See this discussion which includes confirmation that closing the database is done by the system as needed if/when the process is killed off.
The relevant quote, from a Google employee, is:
A content provider is created when its hosting process is created, and remains around for as long as the process does, so there is no need to close the database -- it will get closed as part of the kernel cleaning up the process's resources when the process is killed.