在我的应用中,我使用Android 6特定的相机访问请求。它曾经工作正常,直到我的硬盘驱动器死了,我不得不重置eclipse / android。
现在我收到了这些错误
The method requestPermissions(MainActivity, String[], int) is undefined for the type ActivityCompat
The method checkSelfPermission(MainActivity, String) is undefined for the type ContextCompat
The method shouldShowRequestPermissionRationale(MainActivity, String) is undefined for the type ActivityCompat
即使ActivityCompat
被识别,我尝试编译时也是如此。我从SDK管理器下载了Android支持存储库,但仍然在svn的依赖项中有android-support-v4.jar
,但它似乎不起作用。
到目前为止,我发现的所有解决方案都指向将库作为来自sdk源的库项目,然后在依赖项中使用该jar文件,但该文件夹在我的sdk文件夹结构中不存在
<sdk>\extras\android\support
我有以下文件夹:
<sdk>\extras\android\m2repository\com\android\support
但它不包括任何要包含在eclipse中的库项目。
如何获取这些来源以便我可以将支持库导入 eclipse 并从我的项目中引用它?
编辑:
以下是导致错误的代码:
if (ContextCompat.checkSelfPermission(GalleryActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(GalleryActivity.this, Manifest.permission.CAMERA)) {
ActivityCompat.requestPermissions(GalleryActivity.this, new String[]{Manifest.permission.CAMERA}, MainActivity.REQUEST_ALLOW_ACCESS_CAMERA_IMPORT);
} else {
ActivityCompat.requestPermissions(GalleryActivity.this, new String[]{Manifest.permission.CAMERA}, MainActivity.REQUEST_ALLOW_ACCESS_CAMERA_IMPORT);
}
} else {
onTakeNewPhoto();
}
清单中的sdk级别如下所示:
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="23" />
我的project.properties
文件
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
target=android-23
android.library.reference.1=Licensing
答案 0 :(得分:0)
您应该将Android Sdk Tools,Android平台工具和Android Sdk内置工具更新到最新版本
然后首先尝试将现有的android项目导入您的工作区,路径为:
require('./js/controllers/todoCtrl')
然后将上面的项目设置为库项目。最后添加该项目作为对主项目的引用