Intereting Posts

Двоичная строка XML-файла #: ошибка раздувания фрагмента класса: только на Android (6.0) -Marshmallow

Я не могу показать карту google на Android M.

Вот макет xml:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:wheel="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <include layout="@layout/toolbar_layout" android:layout_width="match_parent" android:layout_height="wrap_content"/> <LinearLayout android:orientation="vertical" android:id="@+id/content_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment class="com.google.android.gms.maps.SupportMapFragment" android:id="@+id/googleMap" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_gravity="center" /> </LinearLayout> </LinearLayout> 

Файл AndroidManifest:

 <permission android:name="com.xxx.yyy.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.xxx.yyy.permission.MAPS_RECEIVE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 

И внутри тега приложения:

  <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="@string/maps_api_key" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 

Я запрашиваю разрешения во время выполнения:

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && (checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED || checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)) { requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSION_REQUEST_COARSE_LOCATION); } 

И это обратный вызов:

 @Override public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults) { switch (requestCode) { case PERMISSION_REQUEST_COARSE_LOCATION: { if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) { //Access Location } else { Utils.showToast(getApplicationContext(), "Until you grant the permissions, You cannot Access Location Service"); } } break; } } 

Я получаю это исключение

"android.view.InflateException: Binary XML file line #: Error inflating class fragment" only on Android 6.

Он показывает карту без каких-либо проблем для остальных версий Android. Пожалуйста, помогите мне.

Solutions Collecting From Web of "Двоичная строка XML-файла #: ошибка раздувания фрагмента класса: только на Android (6.0) -Marshmallow"

У вас есть SD-карта на устройстве Android-M? Если нет, вставьте SD-карту и повторите попытку.

Я не могу найти ничего странного в xml. Однако ошибка с инфляцией может произойти не только на этом макете. Например, этот макет xml включает toolbar_layout, возможно, ошибка находится в toolbar_layout.xml.

Я предположим, что, возможно, вы можете отметить некоторые теги и повторить попытку, а найти тег find вызывают это исключение.