It's not the same thing to solve problems and study problems.
The shell scheme on the internet,
Mprovidermap in
235 Row http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4.4_r1/android/app/ Activitythread.java?av=f
On 2.3-4-4.2 's cell phone, the map obtained is empty so it doesn't go to the following loop.
But above the 4.4.4, he can get a value in this map.
And he's like this is content
[Email protected] (5355): [Email protected]
But on 2.3-4.4.2 's cell phone, this map is empty.
This map in the previous version is HashMap behind the Arraymap
Be aware that
So there's no expected receiver of type android.content.ContentProvider on 2.3-4.4.2 's phone, but got null exception
However, on 4.4.4 's mobile phone, map is not empty, after entering
There is a Mlocalprovider property value that gets Android.app.activitythread$providerclientrecord, and this doesn't know why it's empty on 4.4.4 's phone.
321 lines of code Http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4.4_r1/android/ App/activitythread.java#activitythread.providerclientrecord
Need to deal with
And then in the source for a long time because the 4.4.4 on the map has 1 values, the second map loop out to take this value when Mlocalprovider empty, I went to the source for half a day, the results did not
Later found that the Mloacalprovider can be empty, but this map is still to cycle,
In the end, I just thought that it would be android.app.activitythread$providerclientrecord to get here, and there might be a series of operations to keep the program running.
This problem at first thought is buildtools problem, from 19.0.0 has been tried to 23.0.2 but found no, in the company is 4.4.2 Home is 4.4.4 's cell phone tangled for several days
I found out that my cell phone and the company's test machine are 4.4 but one is 4.4.41 is 4.4.2 just I was in the company to try to good think 4.4 of the problem, at home is not
Android Plus Shell