我有一个文件的真实路径,如“file:///mnt/sdcard/3dphoto/temp19.jps”,我怎样才能得到像“content://media/external/images/media/1”这样的uri? 最佳答案 将您的“file://...”转换为文件路径,使用以下代码找到项目的id,然后将其附加到提供者URI。此外,根据文件扩展名,使用正确的提供程序(例如MediaStore.Video.Media.EXTERNAL_CONTENT_URI或MediaStore.Image.Media.EXTERNAL_CONT
在我的程序中,我想通过它的文件路径保存选定的铃声,然后将其设置为当前铃声。我从RingtonePreference中获取了铃声uri,并从MediaStore数据库中获取了它的文件路径。例如Uri-content://media/internal/audio/media/29Path-/system/media/audio/notifications/Ascend.mp3现在,如何从我保存的文件路径中获取铃声Uri?由于铃声已经存在于MediaStore中,我尝试了以下功能,但没有用。uriRingtone=MediaStore.Audio.Media.getContentUriFor
我想选择存在于sdcard而不是内部存储中的文件并将其上传到服务器,但我无法获取其大小的路径。我已经开始使用以下代码选择文件的Intent:intent=newIntent(Intent.ACTION_OPEN_DOCUMENT);intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("*/*");String[]mimetypes={"application/*"};intent.putExtra(Intent.EXTRA_MIME_TYPES,mimetypes);startActivityForResult(Int
我正在尝试仅选择电话号码的联系人。我正在关注thiscodestaticfinalintPICK_CONTACT_REQUEST=1;//Therequestcode...privatevoidpickContact(){IntentpickContactIntent=newIntent(Intent.ACTION_PICK,newUri("content://contacts"));pickContactIntent.setType(Phone.CONTENT_TYPE);//Showuseronlycontactsw/phonenumbersstartActivityForResu
我正在尝试以最正确的方式构建Uri,以便查询map上的某个位置。在documentation对于MapsIntent,Uris应采用以下形式:geo:0,0?q=my+street+address。我尝试使用Uri.Builder但找不到指定"0,0"的方法uri的一部分,因为Uri.Builder没有在不预先添加“/”的情况下指定路径的功能。目前我无法使用以下代码:uri=newUri.Builder().scheme(URL_SCHEME_MAP).encodedOpaquePart("0,0?q="+query).build();还可以,但没有我想要的那么好。所以我想知道是否有人
在我的应用程序中,我集成了OpenStreetMap,我在其中获取了源坐标和目标坐标。我需要使用Intent类将这些坐标传递给OpenStreetMap应用程序,为此我需要Uri。经过2天的搜索,我得到了这个Urihttp://www.openstreetmap.org/?mlat=latitude&mlon=longitude&zoom=12目前只支持一个位置,但我不想要它。谁能帮我解决这个问题?提前致谢...下面是我的代码IntentsendLocationToMap=newIntent(android.content.Intent.ACTION_VIEW,Uri.parse("h
在AndroidQ中,MediaStore.Files.FileColumns.DATA字段为deprecated,并且可能为空或应用程序可能无权读取它,因此有没有办法仅使用其媒体内容Uri重命名文件的文件名部分(而不是路径)?到目前为止,DATA字段可用于从已知Uri中查找文件的真实路径,但由于它已被弃用,因此我们的想法是甚至不要尝试查找或解析真实文件路径,而仅使用其内容Uri。考虑到Uri将采用标准媒体内容格式(不是SAF格式):content://media/external/images/media/123目的是重命名Uri指向的文件的名称。我知道我可以更新MediaStore
我正在寻找一种方法来暂停给定ContentProvider的Uri的通知。用例是:Activity通过CursorLoader绑定(bind)到CursorAdapter。Service可能会在ContentProvider上进行大量批量单行更新。CursorLoader将在每次行更新时重新加载其内容,因为ContentProvider通过ContentResolver#notifyChange通知监听器.由于我无法编辑ContentProvider,而且我无法控制批处理查询的执行,有没有办法暂停Uri上的通知(在执行Service),直到所有ContentProvider管理的查询都
我有一个Android应用程序,它有一个名为“myTestDB”的数据库和一个名为“list_items”的表。我想使用CursorgetContentResolver().query()方法获取要添加到SimpleCursorAdapter的游标。query()方法的第一个参数是一个URI,我不确定URI应该是什么样子。 最佳答案 您不使用getContentResolver()直接访问SQLite数据库。在与内容提供商合作时,您可以使用getContentResolver()。您在SQLiteDatabase对象上调用query
我正在尝试使用AndroidBrowser.BOOKMARKS_URI从我的应用程序(https://play.google.com/store/apps/details?id=com.elementique.web)中对设备书签进行增删改查它在大多数设备上工作正常,但在某些设备上不起作用:-(在这些设备上,尝试使用书签会导致java.lang.IllegalArgumentException:UnknownURLcontent://browser/bookmarks我现在明白BoookmarkUri可以不同于AOSP默认值(即“content://browser/bookmarks”