Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android无法解析符号OnRequestPermissionsResultCallback_Android_Xml_Google Maps_Android Fragments_Gps - Fatal编程技术网

Android无法解析符号OnRequestPermissionsResultCallback

Android无法解析符号OnRequestPermissionsResultCallback,android,xml,google-maps,android-fragments,gps,Android,Xml,Google Maps,Android Fragments,Gps,我是android新手,我正在尝试构建一个应用程序来显示我的当前位置,我正在遵循谷歌链接的apidemos中的设置。这是任务的一部分,所以我不想透露我的最终目标是什么。现在,我希望能够在我的应用程序上使用gps定位。我将发布我的活动代码、xml布局代码、清单代码和渐变代码。如果还有什么我需要发布的,请告诉我。我试过搜索,但什么也找不到。如果有帮助的话,我主要是为我的手机做这个。Nexus 6p安卓6.0.1 编辑:OnRequestPermissionsResultCallback正在工作,但仍

我是android新手,我正在尝试构建一个应用程序来显示我的当前位置,我正在遵循谷歌链接的apidemos中的设置。这是任务的一部分,所以我不想透露我的最终目标是什么。现在,我希望能够在我的应用程序上使用gps定位。我将发布我的活动代码、xml布局代码、清单代码和渐变代码。如果还有什么我需要发布的,请告诉我。我试过搜索,但什么也找不到。如果有帮助的话,我主要是为我的手机做这个。Nexus 6p安卓6.0.1

编辑:OnRequestPermissionsResultCallback正在工作,但仍有PermissionUtils给我一个错误

我将对发生错误/无法解决的地方进行评论

XML代码

这是我的活动

包com.example.name.app; 导入android.Manifest; 导入android.app.Activity; 导入android.content.pm.PackageManager; 导入android.net.Uri; 导入android.os.Bundle; 导入android.os.Environment; 导入android.provider.MediaStore; 导入android.support.v4.app.FragmentActivity; 导入android.view.view; 导入com.google.android.gms.maps.GoogleMap; 导入com.google.android.gms.maps.OnMapReadyCallback; 导入com.google.android.gms.maps.SupportMapFragment; 导入android.support.v4.content.ContextCompat; 导入com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener; 导入android.support.annotation.NonNull; 导入android.support.v4.app.ActivityCompat; 导入android.support.v4.content.ContextCompat; 导入android.support.v7.app.AppActivity; 导入android.widget.Toast; 导入com.google.android.gms.maps.model.LatLng; 导入com.google.android.gms.maps.model.MarkerOptions; 导入android.content.Intent; 导入java.io.File; 导入java.io.IOException; 导入java.text.simpleDataFormat; 导入java.util.Date; 导入android.widget.Button; 公共类映射活动扩展了AppCompatActivity 工具 OnMyLocationButtonClickListener, 四月一日, ActivityCompat.OnRequestPermissionsResultCallback{//OnRequest上出错…回调 /** *位置权限请求的请求代码。 * *@请参见onRequestPermissionsResultint,String[],int[] */ 私有静态最终整数位置\权限\请求\代码=1; /** *指示在返回后请求的权限是否被拒绝的标志 *{@link onRequestPermissionsResultint,字符串[],int[]}。 */ 私有布尔值mPermissionDenied=false; 按钮开始按钮; 按钮停止按钮; 按钮共享按钮; 私有谷歌地图; 静态最终整数请求\图像\捕获=1; 静态最终int请求\u拍摄\u照片=1; 串电流光路; @凌驾 受保护的void onCreateBundle savedInstanceState{ super.onCreatesavedInstanceState; setContentViewR.layout.activity_映射; SupportMapFragment mapFragment=SupportMapFragment getSupportFragmentManager .findFragmentByIdR.id.map; mapFragment.getMapAsyncthis; startbutton=按钮findViewByIdR.id.startbutton; stopbutton=按钮findViewByIdR.id.stopbutton; sharebutton=按钮findViewByIdR.id.sharebutton; } @凌驾 谷歌地图上的公共空白{ mMap=谷歌地图; //在意大利威尼斯添加一个标记,然后移动相机。 /*LatlngVenice=新LatLng45.43,12.33; mMap.addMarkernew MarkerOptions.positionvenice.titleMarker in Venice; mMap.moveCameraCameraUpdateFactory.newLatLngvenice*/ mMap.setOnMyLocationButtonClickListenerthis; 使能定位; } 私有无效启用定位{ //错误无法解析方法checkSelfPermission 如果ContextCompat.checkSelfPermissionthis、Manifest.permission.ACCESS\u FINE\u位置 !=已授予PackageManager.PERMISSION\u权限{ //缺少访问该位置的权限。 //错误:无法解析符号权限 PermissionUtils.requestPermissionthis,位置\权限\请求\代码, Manifest.permission.ACCESS\u FINE\u位置,true; }如果mMap!=null,则为else{ //该应用程序已被授予访问该位置的权限。 mMap.setMyLocationEnabledtrue; } } @凌驾 公共布尔onMyLocation按钮单击{ Toast.makeTextthis,单击我的位置按钮,Toast.LENGTH\u SHORT.show; //返回false,这样我们就不会使用事件,默认行为仍然会发生 //摄影机将设置用户当前位置的动画。 返回false; } @凌驾 public void onRequestPermissionsResultint requestCode、@NonNull String[]权限、@NonNull int[]grantResults{ if requestCode!=位置\权限\请求\代码{ 回来 } // 错误:无法解析符号权限 如果PermissionUtils.isPermissionGrantedpermissions、grantResults、, Manifest.permission.ACCESS\u FINE\u位置{ //如果已授予权限,则启用“我的位置”层。 使能定位; }否则{ //恢复碎片时显示“缺少权限错误”对话框。 mPermissionDenied=true; } } @凌驾 受保护的无效碎片{ super.onf; 如果被拒绝{ //未授予权限,显示错误对话框。 showMissingPermissionError; mPermissionDenied=false; } } //错误:无法解析符号权限 私有void showMissingPermissionError{ PermissionUtils.PermissionDeniedDialog .newInstancetrue.showgetSupportFragmentManager,对话框; } 公共空间startView视图{ startbutton.setTextRunning; stopbutton.setTextStop; } 公共无效stopView视图{ stopbutton.setTextStopped; startbutton.setTextStart; } 私有文件createImageFile引发IOException{ //创建图像文件名 字符串时间戳=新SimpleDataFormatyyyymmdd\u HHmmss.formatnew Date; 字符串imageFileName=JPEG+时间戳+; //获取位置并存储它 File storageDir=new File Environment.getExternalStoragePublicDirectory Environment.DIRECTORY_PICTURES+/MyMap;//将其保存在PICTURES/MyMapp中,但只能从文件资源管理器中查看 File image=File.createTempFile imageFileName,/*前缀*/ .jpg,/*后缀*/ storageDir/*目录*/ ; //保存文件:路径以用于操作\视图意图 mCurrentPhotoPath=文件:+image.getAbsolutePath; 返回图像; } 公共空间openCameraView视图{ Intent takePictureIntent=新IntentMediaStore.ACTION\u IMAGE\u CAPTURE; //确保有摄像头活动来处理意图 如果TakePictureContent.resolveActivitygetPackageManager!=null{ //创建照片应该放在哪里的文件 文件photoFile=null; 试一试{ photoFile=createImageFile; }捕捉异常{ //创建文件时出错 } //仅当成功创建文件时才继续 如果photoFile!=null{ 获取PictureContent.putExtraMediaStore.EXTRA\u输出, Uri.fromFilephotoFile; StartActivityForresulttakePictureContent,请求拍照; galleryAddPic; } } } 私人无效厨房地址{ Intent mediaScanIntent=新建intentint.ACTION\u MEDIA\u SCANNER\u SCAN\u文件; 文件f=新文件当前光路; Uri contentUri=Uri.fromFilef; mediaScanIntent.setDatacontentUri; 这是我的目的; } } 这是我的android清单

这是我的升级版gradle

应用插件:“com.android.application” 安卓{ 编译DK23版 BuildToolsVersion23.0.2 默认配置{ applicationId com.example.name.app 第15版 targetSdkVersion 23 版本代码1 版本名称1.0 } 建筑类型{ 释放{ minifyEnabled false proguard文件GetDefaultProGuard文件'proguard-android.txt','proguard rules.pro' } } } 依赖关系{ 编译fileTreeinclude:['*.jar'],目录:“libs” 编译'com.android.support:appcompat-v7:23.2.0' 编译'com.google.android.gms:play services:8.4.0' 编译'com.android.support:support-v13:23.2.0' } 升级:

将dkversion编译为23 buildToolsVersion至23.0.2 com.android.support:appcompat-v7和com.android.support:support-v13到23.2.0 您缺少的符号来自23.x.y版本的appcompat-v7;其他更改是保持主版本同步

另外,请注意7.5.0是一个相当古老的游戏服务版本;我建议将其升级到8.4.0

而且,请记住,如果给定targetSdkVersion 22,所有运行时权限内容都是毫无意义的。

升级:

将dkversion编译为23 buildToolsVersion至23.0.2 com.android.support:appcompat-v7和com.android.support:support-v13到23.2.0 您缺少的符号来自23.x.y版本的appcompat-v7;其他更改是保持主版本同步

另外,请注意7.5.0是一个相当古老的游戏服务版本;我建议将其升级到8.4.0

而且,请记住,所有运行时权限的内容都是毫无意义的,giv

在targetSdkVersion 22中。

我也有类似的问题,想知道为什么找不到PermissionUtil类。该类可以在Github的googlemap/android maps示例中找到。我只是创建了一个java文件,复制了代码并替换了字符串资源。

我有类似的问题,想知道为什么找不到PermissionUtil类。该类可以在Github的googlemap/android maps示例中找到。我只是创建了一个java文件,复制了代码并替换了字符串资源。

您能将CompileSDK版本和targetsdk版本更改为23吗?@RavjitSingh我该怎么做。我可以用鼠标右键点击打开模块设置并进行更改吗?不,在gradle文件中,是您在ur中发布的最后一个文件question@RavjitSingh我把它改成了你导演的。我将更新播放服务,并很快报告。我现在大约半小时后上课。谢谢你这样的帮助far@RavjitSinghonRequestPermissionsResultCallback不再给我错误,但是我仍然有给我错误的权限。有什么建议吗?你能把compilesdkversion和targetsdk的版本改成23吗?@RavjitSingh我该怎么做呢。我可以用鼠标右键点击打开模块设置并进行更改吗?不,在gradle文件中,是您在ur中发布的最后一个文件question@RavjitSingh我把它改成了你导演的。我将更新播放服务,并很快报告。我现在大约半小时后上课。谢谢你这样的帮助far@RavjitSinghonRequestPermissionsResultCallback不再给我错误,但是我仍然有给我错误的权限。有什么建议吗?嗨,我按照你的指示更改了前两个要点。我不太清楚你说的第三个是什么意思。对不起,我对这件事还不太熟悉。我的目标版本现在是23。我会在一小时内更新我的游戏服务,因为我现在上课了。我很快就回来。谢谢你的邀请help@SamuelJacksonJr:我不完全确定第三个是什么意思-它指的是build.gradle文件中的两个依赖项。嘿,我附加了更新的build.gradle文件,其中包含所有建议的更改。onRequestPermissionResultsCallback不再给我错误。PermissionUtils的三个实例仍然给了我一个错误。有什么建议吗?@SamuelJacksonJr:androidsdk中没有名为PermissionUtils的东西。我碰巧编写了一个名为PermissionUtils的类,但是您使用的API与我的不一致。您需要跟踪此代码的来源,并找出它的PermissionUtils来源。在我找到PermissionUtils类后,让它开始工作。非常感谢你的帮助。对这一点我很陌生,我刚刚学到了很多。嗨,我按照你的指示改变了前两个要点。我不太清楚你说的第三个是什么意思。对不起,我对这件事还不太熟悉。我的目标版本现在是23。我会在一小时内更新我的游戏服务,因为我现在上课了。我很快就回来。谢谢你的邀请help@SamuelJacksonJr:我不完全确定第三个是什么意思-它指的是build.gradle文件中的两个依赖项。嘿,我附加了更新的build.gradle文件,其中包含所有建议的更改。onRequestPermissionResultsCallback不再给我错误。PermissionUtils的三个实例仍然给了我一个错误。有什么建议吗?@SamuelJacksonJr:androidsdk中没有名为PermissionUtils的东西。我碰巧编写了一个名为PermissionUtils的类,但是您使用的API与我的不一致。您需要跟踪此代码的来源,并找出它的PermissionUtils来源。在我找到PermissionUtils类后,让它开始工作。非常感谢你的帮助。我对这很陌生,我刚刚学到了很多。