草庐IT

Android 7 nougat,如何从传入 Intent 的uri获取文件路径?

FileProvider:-Settingupfilesharing我知道更改androidnougat中的文件策略。文件共享到其他应用程序的所需应用程序通过FileProvider生成uri。uri格式为content://com.example.myapp.fileprovider/myimages/default_image.jpg。我想知道如何从FileProvider.getUriForFile()生成的uri中获取文件路径。因为我的应用程序需要知道物理文件路径才能保存、加载、读取信息等。有可能吗[简而言之]我的应用程序收到了其他应用程序在andorid7nougat上的in

java - Android:所选文件的文件名不正确(来自文件选择器)

我有一个屏幕,点击按钮打开一个文件选择器,然后我选择一个名为“Test.jpg”的文件进行进一步操作。我使用以下代码获取该文件的名称。Uriuri=data.getData();Filefile=newFile(uri.getPath());StringfileName=file.getName();这是调试器的结果file.getName()=>167522file.toString()=>/external/images/media/167522我想获取Test.jpg作为我的文件名。请让我知道我的代码有什么问题。 最佳答案 需

android - 内容 ://sms/in 1. 6+ 上的 ContentObserver?

我有一个内容观察器,它在android1.5中轮询content://sms/以便我收到短信数据库更改的通知并可以相应地对它们使用react。但是在1.6中这不起作用,uri是否已从content://sms/更改为其他内容?我已经看到content://mms-sms/在我的1.6设备上的logcat中弹出,但我已经尝试过但它不起作用。这是我的代码Stringurl="content://sms/";Uriuri=Uri.parse(url);getContentResolver().registerContentObserver(uri,true,newMyContentObser

android - 从上下文 Assets 中的 Uri 加载 MediaPlayer

我的Assets目录中有一个音频文件。assets/audio/dance.mp3.如果我运行context.getAssets().list("audio");它出现了。但是当我尝试使用MediaPlayer.create(context,uri)时,它总是失败并返回null。这些似乎都不起作用privatevoidtryLoad(Stringpath,Contextcontext){Uriuri=Uri.parse(path);this.audioPlayer=MediaPlayer.create(context,uri);if(this.audioPlayer==null){Lo

android - 如何将内容 Uri 转换为文件

我知道有很多关于这个确切主题的问题,但在花了两天时间阅读和尝试之后,没有一个能够解决我的问题。这是我的代码:我在onCreate()中启动ACTION_GET_CONTENTIntentselectIntent=newIntent(Intent.ACTION_GET_CONTENT);selectIntent.setType("audio/*");startActivityForResult(selectIntent,AUDIO_REQUEST_CODE);在onActivityResult()中获取Uri@OverridepublicvoidonActivityResult(intr

android - UriMatcher 类的 match(Uri) 是否可重入?

我看到的关于如何制作ContentProvider的示例都用过UriMatcher#match(Uri)insert、query、update和delete方法中的方法可以轻松处理所有URI模式内容提供商响应(例如:http://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/NotePadProvider.html)。这对我来说似乎没问题,直到今天,当我在ContentProviderAPI文档中注意到insert、query、update和delete“可以[全部]从多个

Android:从视频 URI 创建视频缩略图

我正在开发一个应用程序,它在列表中列出了我使用录像机录制的所有视频。我可以借助Uri而不是字符串来创建缩略图吗???我当前的代码如下所示,但它不再有效,因为我对构造函数的输入是Uri而不是字符串。bmThumbnail=ThumbnailUtils.createVideoThumbnail((db_results.get(position)),Thumbnails.MICRO_KIND);imageThumbnail.setImageBitmap(bmThumbnail);我返回错误ThemethodcreateVideoThumbnail(String,int)inthetypeTh

android - 什么是 MediaStore.Images.Media.getContentUri(String volumeName) :Uri do?

ContentProviderMediaAPI的公共(public)方法在我看来非常简单,除了这个。我不确定这是做什么的或如何使用它。任何有关使用的见解将不胜感激。 最佳答案 如源代码所示,INTERNAL_CONTENT_URI使用“internal”,EXTERNAL_CONTENT_URI使用“external”:/***Getthecontent://styleURIfortheimagemediatableonthe*givenvolume.**@paramvolumeNamethenameofthevolumetoget

android - 内容 URI 与文件 URI : What to use in the future?

我正在开发一个安卓相机应用程序,我们在几个场景中使用了uris,例如将结果数据从我们的相机传送回为结果启动我们的应用程序,或者当用户点击共享按钮时打开IntentChooser。现在我们在大多数情况下使用FileUris,因为它似乎是更安全的解决方案。使用ContentResolver和MediaStore时总会出现一些问题。另外我记得前段时间有不少应用不支持ContentUris,但是FileUris很好。但是,我们现在收到Google的邮件,当用户决定不在Android6.0上授予“环聊”文件访问权限时,使用FileUris交付不允许他们的“环聊”应用访问该文件。我现在的问题是:在

Android:应用程序链接 - 仅支持某些路径?

我想为我的应用程序设置应用程序链接,但只是为了它在某些路径上处于Activity状态。换句话说,在我的list中:我不希望包含我的域的每个url都可以打开应用程序-它们可以像往常一样在浏览器中打开。我只希望包含特定子路径的网址在应用程序中打开。应用程序链接是否允许此模式或它是“全有或全无”?开发者文档链接:http://developer.android.com/training/app-links/index.html 最佳答案 您可以有特殊路径,但不能/不应该将它们附加到主机。你应该有然后您可以使用android:pathand