[英]android api 23 dialog alert permission does not appear
在我的應用程序中,我需要android互聯網許可。
我已經在文件AndroidManifest.xml中插入了權限(具有其他權限)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
build.gradle默認配置具有正確的api級別:
defaultConfig {
applicationId "com.mytry"
minSdkVersion 23
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
與互聯網通話的活動是這樣的:
public class ActivityLoginScreen extends Activity{
final int REQUEST_INTERNET = 1;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.INTERNET)) {
//permesso già richiesto in precedenza. Negato dall'utente
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.INTERNET}, REQUEST_INTERNET);
}
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case REQUEST_INTERNET: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "GRANTED", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "NO GRANTED", Toast.LENGTH_SHORT).show();
}
return;
}
}
}
但是,當我啟動我的應用程序並參加活動時,沒有任何意義。 如果我進入應用程序設置模擬器,則只能看到2個權限。
我在其他應用程序中使用了這種類型的請求,沒有問題
謝謝。
編輯:
對於所有注釋,請鍵入以下內容:“無需請求,因為:如果應用程序聲明需要正常權限,則系統會自動將權限授予該應用程序”
這是對的。 對不起這個愚蠢的問題。 我知道默認權限的問題,但是我的appa仍然無法正常工作,因為它給Internet權限帶來了錯誤。 我創建了一個新的模擬器,現在好像要運行了。
默認情況下會授予Internet權限。
它不需要用戶授予它,因此您已經具有Internet權限,只需啟用您的Internet。
普通權限涵蓋了您的應用需要訪問其沙盒外部的數據或資源的區域,但這些區域對用戶的隱私或其他應用的操作造成的風險很小。 例如,設置時區的權限是普通權限。 如果應用程序聲明需要正常權限,則系統會自動將權限授予該應用程序。 有關當前普通權限的完整列表,請參閱普通權限 。
從API級別23開始,以下權限分類為PROTECTION_NORMAL :
對於這些,不會向用戶顯示任何日記,系統將自動授予權限。
ACCESS_LOCATION_EXTRA_COMMANDS ACCESS_NETWORK_STATE ACCESS_NOTIFICATION_POLICY ACCESS_WIFI_STATE BLUETOOTH BLUETOOTH_ADMIN BROADCAST_STICKY CHANGE_NETWORK_STATE CHANGE_WIFI_MULTICAST_STATE CHANGE_WIFI_STATE DISABLE_KEYGUARD EXPAND_STATUS_BAR GET_PACKAGE_SIZE INSTALL_SHORTCUT INTERNET KILL_BACKGROUND_PROCESSES MODIFY_AUDIO_SETTINGS NFC READ_SYNC_SETTINGS READ_SYNC_STATS RECEIVE_BOOT_COMPLETED REORDER_TASKS REQUEST_IGNORE_BATTERY_OPTIMIZATIONS REQUEST_INSTALL_PACKAGES SET_ALARM SET_TIME_ZONE SET_WALLPAPER SET_WALLPAPER_HINTS TRANSMIT_IR UNINSTALL_SHORTCUT USE_FINGERPRINT VIBRATE WAKE_LOCK WRITE_SYNC_SETTINGS
所有危險的Android系統權限均屬於權限組。 如果設備運行的是Android 6.0(API級別23)
PROTECTION_DANGEROUS權限:
這些權限將向用戶顯示對話框。 樣例代碼
READ_CALENDAR WRITE_CALENDAR CAMERA READ_CONTACTS WRITE_CONTACTS GET_ACCOUNTS ACCESS_FINE_LOCATION ACCESS_COARSE_LOCATION RECORD_AUDIO READ_PHONE_STATE CALL_PHONE READ_CALL_LOG WRITE_CALL_LOG ADD_VOICEMAIL USE_SIP PROCESS_OUTGOING_CALLS BODY_SENSORS SEND_SMS RECEIVE_SMS READ_SMS RECEIVE_WAP_PUSH RECEIVE_MMS READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.