1
我有導出的ContentProvider
,我用它來訪問用戶想要通過其他應用程序共享的圖像。簡單地說,用戶點擊我應用程序中的分享按鈕,向她展示可分享圖像的應用程序列表,並選擇其中一個應用程序(其調用我的ContentProvider
以獲取基於Uri的圖像)。Lint Warning ExportedContentProvider
但是,有一個皮棉警告ExportedContentProvider
說我應該使用權限。如果我設置了權限,其他應用程序將如何知道訪問圖像的權限?
我知道Lint正在討論使用我的ContentProvider。如果我將導出爲false,那麼即使它們具有uri,其他應用程序也無法從contentProvider訪問圖像。 – 2012-07-27 13:42:46
這是因爲你讓Uri訪問提供者的圖像。您應該改爲使用圖像文件的Uri。您要給共享應用程序的Uri必須代表SDCard上文件的路徑或類似的文件。 Uri不應該代表與您的ContentProvider相關的內容。 – 2012-07-27 14:00:11
我不同意這種方法。推薦的共享圖像的方式是提供一個URI,然後應用ContentProvider實際提供數據。爲SD卡上的文件提供路徑並不理想(文件權限,位置可能會更改,也許您不希望文件直接訪問,而只能通過應用程序訪問等)。流行的應用程序使用內容提供商分享他們的數據。 – 2012-07-30 08:05:30