2015-11-20 4 views
-3

getAllCellInfo: Ни пользователь, ни 10194 текущий процесс не имеет android.permission.ACCESS_COARSE_LOCATIONГде моя ошибка?

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.r.raul.tools"> 

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 

<application 
    android:allowBackup="true" 
    android:configChanges="orientation|screenSize" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> </application></manifest> 
+0

эй, вы используете широковещательный приемник? –

ответ

1

Если вы используете BroadcastReceiver, попробуйте меняет свой файл манифеста, который я добавил ниже,

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.test" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="15" /> 

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <receiver 
      android:name="com.example.test.NetworkChangeReceiver" 
      android:label="NetworkChangeReceiver" > 
      <intent-filter> 
       <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
      </intent-filter> 
     </receiver> 
    </application> 

</manifest> 
+0

разрешение не включено по умолчанию Rulogarcillan

+1

, это разрешение, которое вы должны добавить в ваш файл-получатель, поэтому эта ошибка возникает рядом с этим разрешением . –

+1

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

0
TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); 
      try { 


      for (CellInfo info : tm.getAllCellInfo()) { 
       if (info instanceof CellInfoGsm) { 
        CellSignalStrengthGsm gsm = ((CellInfoGsm) info).getCellSignalStrength(); 
        // do what you need 
        gsmStrength = String.valueOf(gsm.getDbm()); 
       } else if (info instanceof CellInfoCdma) { 
        CellSignalStrengthCdma cdma = ((CellInfoCdma) info).getCellSignalStrength(); 
        gsmStrength = String.valueOf(cdma.getDbm()); 
       } else if (info instanceof CellInfoLte) { 
        CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength(); 
        gsmStrength = String.valueOf(lte.getDbm()); 
       } else { 
        gsmStrength = String.valueOf("Uknow"); 
       } 
      } 
      }catch (Exception e){ 
       LogUtils.LOG(e.getMessage()); 
      } 
+0

Если я принимаю разрешение в настройке, работайте нормально, но это разрешение не активируется автоматически – Rulogarcillan

1

Возможно, это из-за андроидных разрешений. У них есть некоторые изменения в андроиде. 6. Проверьте this link, чтобы понять. Перейдите в настройки android settings-> apps и выберите свое приложение, затем примите разрешения вручную и проверьте, не решена ли ваша проблема.