2016-03-01 135 views
0

我的清單文件有什麼問題?我的應用程序崩潰說沒有權限發送即使在我的清單文件Android權限錯誤

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.example.righteous_05.examapp"> 

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


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

        <category android:name="android.intent.category.LAUNCHER" /> 
       </intent-filter> 
      </activity> 
      <activity android:name=".AdminActivity" /> 
      <activity android:name=".ConductExam" /> 
      <activity android:name=".ResultActivity"></activity> 
     </application> 

    </manifest> 
+2

你在Android 6上運行它? – 0xDEADC0DE

+0

https://stackoverflow.com/questions/32635704/cant-get-the-permission – CommonsWare

回答

0

您的Android清單是罰款了權限添加短信。但是,如果您在Android 6.0上嘗試此操作,則該應用程序將失敗,因爲Android Marshmallow中的權限系統不同。 SEND_SMS被分類爲「危險」許可,因此您需要在棉花糖中使用checkSelfPermission()requestPermissions()。像這樣 -

//This code will fail on devices below Android 6.0, so the below if statement is neccessary 
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { 
     ContextCompat.requestPermissions(thisActivity, 
      new String[]{Manifest.permission.SEND_SMS}); 
    } 
} 
+0

我試圖實現這個代碼,但它說找不到符號方法requestPermissions(this,String []) – Satya