我正在尝试开发一个可以拍照的应用程序,然后将其上传到数据库中。现在,我坚持要拍摄高质量的照片。如前所述,要获得更高质量的照片,您需要将其保存在目录中。我正在追踪Google Take Photos 从开发人员的说明中,并在添加了所有方法和提供程序等之后,出现了错误:
Sub Rename_Files()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet1")
Dim fso As New FileSystemObject
Dim fo As Folder
Dim f As File
Dim new_name As String
Set fo = fso.GetFolder(sh.Range("H1").Value)
For Each f In fo.Files
> **new_name = Application.VLookup(f.Name, sh.Range("A:B"), 2, 0)**
f.Name = new_name
Next
MsgBox "Done"
End Sub
我已经保留了我的应用程序的名称,这样每个人都可以在清单中看到我对其进行更改。
清单:
Couldn't find meta-data for provider with authority com.example.navigationdrawerfinal.
file_paths.xml:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.example.navigationdrawerfinal.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
以及我使用它的代码:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="my_images" path="Android/data/com.example.navigationdrawerfinal/files/Pictures" />
</paths>
答案 0 :(得分:1)
如错误所示(强调是我的):
找不到具有权限 com.example.navigationdrawerfinal 的提供商的元数据。
这是因为您为定义的FileProvider
变量指定了错误的photoURI
,这与您在FileProvider
中定义的变量完全相同清单文件,区分大小写:
Uri photoURI = FileProvider.getUriForFile(this,
"com.example.navigationdrawerfinal.fileprovider", // Over here
photoFile);
顺便说一句,最好以PascalCase格式命名类来遵循Java准则。
例如:
FileProvider
与fileprovider
MainActivity
与mainActivity
等
答案 1 :(得分:-1)
在我们的清单更改中
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"></meta-data>
</provider>