Marshmallow Fragment for maps failed

I use the fragmentActivity function for maps.In the Java class gets an error when setting setContentView. My Mapscreen.java is similar: it works fine on some devices showing crash only on marshmallows. Or is there another reason?

public class MapScreen extends FragmentActivity implements LocationListener, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.map_screen); .... SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); googleMap = fm.getMap(); } and my xml has fragment using SupportMapFragment as well. map_screen.xml is like : <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <fragment android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" /> <ImageView android:id="@+id/startActivityButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginLeft="50dp" android:layout_marginRight="50dp" android:layout_marginBottom="44dp" android:background="@drawable/end_meetup_btn" /> </RelativeLayout> 

I cannot find the same question. Getting a crash here in Marshmallow: "Binary line of XML file # 7: Error inflating a class fragment" Please suggest! I tried to find "Caused: java.lang.NullPointerException: attempt to also call the virtual method" boolean java.io.File.mkdir () "in the reference to the null object."

  12-18 13:40:14.425: E/AndroidRuntime(8026): FATAL EXCEPTION: main 12-18 13:40:14.425: E/AndroidRuntime(8026): Process: com.kindlebit.urban_exchange, PID: 8026 12-18 13:40:14.425: E/AndroidRuntime(8026): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kindlebit.urban_exchange/com.kindlebit.urban_exchange.MapScreen}: android.view.InflateException: Binary XML file line #7: Binary XML file line #7: Error inflating class fragment 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.app.ActivityThread.-wrap11(ActivityThread.java) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.os.Handler.dispatchMessage(Handler.java:102) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.os.Looper.loop(Looper.java:148) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.app.ActivityThread.main(ActivityThread.java:5417) 12-18 13:40:14.425: E/AndroidRuntime(8026): at java.lang.reflect.Method.invoke(Native Method) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 12-18 13:40:14.425: E/AndroidRuntime(8026): Caused by: android.view.InflateException: Binary XML file line #7: Binary XML file line #7: Error inflating class fragment 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.app.Activity.setContentView(Activity.java:2166) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.kindlebit.urban_exchange.MapScreen.onCreate(MapScreen.java:109) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.app.Activity.performCreate(Activity.java:6237) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 12-18 13:40:14.425: E/AndroidRuntime(8026): ... 9 more 12-18 13:40:14.425: E/AndroidRuntime(8026): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 12-18 13:40:14.425: E/AndroidRuntime(8026): ... 17 more 12-18 13:40:14.425: E/AndroidRuntime(8026): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.io.File.mkdir()' on a null object reference 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.maps.api.android.lib6.gmm6.m.ad.a(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.maps.api.android.lib6.gmm6.cha(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.maps.api.android.lib6.gmm6.cya(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.maps.api.android.lib6.e.bd.a(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.maps.api.android.lib6.e.ev.a(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.maps.api.android.lib6.eza(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.maps.api.android.lib6.eya(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.android.gms.maps.internal.u.onTransact(SourceFile:107) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.os.Binder.transact(Binder.java:387) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.android.gms.maps.SupportMapFragment$zza.onCreateView(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.android.gms.dynamic.zza$4.zzb(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.android.gms.dynamic.zza.zza(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.android.gms.dynamic.zza.onCreateView(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:995) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1185) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1287) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2243) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:111) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:278) 12-18 13:40:14.425: E/AndroidRuntime(8026): at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:31) 
+7
android google-maps android-fragmentactivity
source share
5 answers

The problem was on the "Micro-max Android one mobile", which was 6.0 Marshmallow. This device does not have sufficient internal or external memory space. Doesn't even have an SD card.

Following George's answer:

Google Maps NullPointerException

i a memory card is inserted, and now there will be no failure.

So, I found that the problem is related to updates to Google Play services that require Space (updated Google photos), which are not enough on my device.

and also one of the Error lines shows "Caused by: java.lang.NullPointerException: attempt to call the virtual method" boolean java.io.File.mkdir () "in the reference to the null object"

I decided to check after installing the SD card. And it worked

+4
source share
 <!-- EXTERNAL_STORAGE permissions are optional for Android 6.0 onwards. --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="22" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="22" /> 

Add this to your manifest. Perhaps the cards require sdcard permission for some extra caching or something else.

+1
source share

The problem is fixed in version 9.0.83 of the Google Play Services library.

+1
source share

This is just the workaround I made. If the check below fails, instead of loading the map, I load the fragment with an error.

 /** Checks if external storage is available for read and write */ public boolean isExternalStorageWritable() { String state = Environment.getExternalStorageState(); return Environment.MEDIA_MOUNTED.equals(state); } 
0
source share

Add the permissions of the SD card to the manifest file.

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
0
source share

All Articles