android api 23对话框警报权限未出现

android api 23对话框警报权限未出现,android,permissions,android-alertdialog,Android,Permissions,Android Alertdialog,在我的应用程序中,我需要安卓互联网许可 我已在文件AndroidManifest.xml中插入权限(具有其他权限) 互联网通话的活动是: public class ActivityLoginScreen extends Activity{ final int REQUEST_INTERNET = 1; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(sa

在我的应用程序中,我需要安卓互联网许可

我已在文件AndroidManifest.xml中插入权限(具有其他权限)

互联网通话的活动是:

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即可。

默认情况下授予internet权限


它不需要用户授予权限,因此您已经拥有internet权限,只需启用internet即可。

并非所有权限都需要用户授予。据

系统权限分为正常和危险两类:

  • 正常权限不会直接危及用户的隐私。如果您的应用程序在其清单中列出了正常权限,系统将自动授予该权限

  • 危险权限可使应用程序访问用户的机密数据。如果您的应用程序在其清单中列出了正常权限,系统将自动授予该权限。如果您列出了危险权限,用户必须明确批准您的应用程序


您只需检查权限是否属于类别(例如:位置、存储、照相机等)

并非所有权限都需要由用户授予。据

系统权限分为正常和危险两类:

  • 正常权限不会直接危及用户的隐私。如果您的应用程序在其清单中列出了正常权限,系统将自动授予该权限

  • 危险权限可使应用程序访问用户的机密数据。如果您的应用程序在其清单中列出了正常权限,系统将自动授予该权限。如果您列出了危险权限,用户必须明确批准您的应用程序

您只需检查权限是否属于类别(例如:位置、存储、摄像头等)

正常权限包括应用程序需要访问数据或文件的区域 应用程序沙箱之外的资源,但却很少 对用户隐私或其他应用程序操作的风险。对于 例如,设置时区的权限是普通权限。如果 应用程序声明它需要正常权限,系统 自动授予应用程序权限。有关 当前的正常权限,请参阅

从API级别23开始,以下权限被分类为保护\u正常

对于这些,不会向用户显示dailog,系统将自动授予权限

所有危险的Android系统权限都属于权限组。 如果设备运行的是Android 6.0(API级别23)

保护\u危险权限:

这些权限将向用户显示对话框

正常权限包括应用程序需要访问数据或文件的区域 应用程序沙箱之外的资源,但却很少 对用户隐私或其他应用程序操作的风险。对于 例如,设置时区的权限是普通权限。如果 应用程序声明它需要正常权限,系统 自动授予应用程序权限。有关 当前的正常权限,请参阅

从API级别23开始,以下权限被分类为保护\u正常

对于这些,不会向用户显示dailog,系统将自动授予权限

所有危险的Android系统权限都属于权限组。 如果设备运行的是Android 6.0(API级别23)

保护\u危险权限:

这些权限将向用户显示对话框


android.permission.INTERNET
不被认为是危险的权限,因此默认情况下被授予。没有应用将在应用设置中显示权限。您可以在这里找到所有权限的列表:这里是示例
android.permission。INTERNET
不被视为危险权限,因此默认情况下被授予。没有应用将在应用设置中显示权限。您可以在此处找到所有权限的列表:以下是示例
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;
            }
        }
    }
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
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