我正在嘗試為我的 Xamarin.Android 應用程式撰寫內容提供程式。
我有我的 ContentProvder 類(./ContentProviders/SitesProvider.cs):
namespace ContentProviders
{
[ContentProvider(new string[] { ContentProviders.SitesProvider.AUTHORITY })]
public class SitesProvider : ContentProvider
{
public const string AUTHORITY = "com.xamarin.sample.ContentProviders.SitesProvider";
static string BASE_PATH = "TableName";
public static readonly Uri CONTENT_URI = Uri.Parse("content://" AUTHORITY "/" BASE_PATH);
public override bool OnCreate()
{
return true;
}
...
}
在我的 AndroidManifest.xml 中,我將以下內容添加到我的元素中
<provider android:name="com.xamarin.sample.ContentProviders.SitesProvider" android:authorities="com.xamarin.sample.ContentProviders.SitesProvider" android:exported="true"></provider>
當我嘗試運行我的應用程式時,我收到以下錯誤訊息:
Java.lang.RuntimeException:'無法獲取提供程式 com.xamarin.sample.ContentProviders.SitesProvider:java.lang.ClassNotFoundException:在路徑上找不到類“com.xamarin.sample.ContentProviders.SiteProvider”:DexPathList [[zip檔案“/data/app/com.xamarin.sample-STvUsF9R8PqrLEnQciN42g==/base.apk”],nativeLibraryDirectories=[/data/app/com.xamarin.sample-STvUsF9R8PqrLEnQciN42g==/lib/arm64, /data/app/ com.xamarin.sample-STvUsF9R8PqrLEnQciN42g==/base.apk!/lib/arm64-v8a、/system/lib64、/hw_product/lib64、/system/product/lib64、/prets/lib64]]'
uj5u.com熱心網友回復:
您在創建的類上添加的屬性與您手動添加到 AndroidManifest 的屬性沖突。你應該只做其中之一。
所以這意味著:
[ContentProvider(new string[] { ContentProviders.SitesProvider.AUTHORITY })]
將在構建時自動添加到 AndroidManifest。
您可以向其中添加更多資訊,例如要使用的匯出和命名:
[ContentProvider(new string[] { ContentProviders.SitesProvider.AUTHORITY }, Exported = true, Name = "com.xamarin.sample.ContentProviders.SitesProvider")]
obj/Debug/android您可以在構建時檢查檔案夾中生成的清單。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/413145.html
標籤:
上一篇:引導文本中心的條件對齊
