Articles of uri

新的KitKat URI不响应Intent.ACTION_VIEW

由于KitKat已将URI从拾取器更改为喜欢的 content://com.android.providers.media.documents/document/image:3951 那时我的ACTION_VIEW意图都不再有用了。 例如,当用户选择图像时,我使用 public static void openImage(Fragment f, Uri uri) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri, “image/*”); f.startActivity(intent); } 并且Android图库和Google+照片会出现,但选中后,图库只显示空白屏幕,照片显示“未find中等” 声音是一样的,我习惯使用 public static void playSound(Fragment f, Uri uri) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri, “audio/*”); f.startActivity(intent); } 用于在以前的版本中显示Google Play音乐,使用小白色播放对话框UI。 使用新的URI,我得到一个例外,没有应用程序能够处理此意图。 //对于照片,有趣的是,当你在新的KK选择器UI中选择Gallery而不是Pictures时,它会返回有效的旧URI。 有任何想法吗? 系统应用程序还没有为新的uris做好准备吗? 我应该以某种方式将新的uris破解为旧的uris以使意图有效吗? 或者我错过了什么? 谢谢!

Android:获取原始图像的Uri,获取SD卡上的图像缩略图

所以我得到了用户从SD卡中选择的图像的Uri图像。 而且我想显示该图像的缩略图,因为很明显,图像可能很大并占据整个屏幕。 谁知道怎么样?

使用Android Browser打开本地html文件

我正在尝试使用以下代码使用默认浏览器打开本地html文件: Uri uri = Uri.fromFile(file); Intent browserIntent = new Intent(Intent.ACTION_VIEW).setData(uri); startActivity(browserIntent); 但我得到以下例外: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///sdcard/SolveDroid/solution.html } 我很困惑 – 我应该创建一个活动来处理网络beowser吗? 是不是应该只是称它的活动? 请指教 :) 更新:如果我传递这样的URL,相同的代码可以工作: Uri uri = Uri.parse(“http://www.metalist.co.il”);

如何将String转换为android.net.Uri

问题:我发现java.net.URI有一个create(String uri)选项,但android.net.uri却没有。 更具体:我试图获取RingtoneManager的RingtonePicker的输出并将其设置为SetActualDefaultRingtoneUri的默认铃声; Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TYPE ,RingtoneManager.TYPE_RINGTONE); intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TITLE , “Select Tone For Rainy Days”); startActivityForResult(intent, 0); RingtoneManager.setActualDefaultRingtoneUri(this ,RingtoneManager.TYPE_RINGTONE ,RingtoneManager.EXTRA_RINGTONE_PICKED_URI); 问题是,RingtoneManager.EXTRA_RINGTONE_PICKED_URI返回的字符串不是uri。 可能有一种比将字符串转换为Uri更好的方法。 我找不到java.net.URI可以做到的原因而且android.net.Uri不能。 任何建议,将不胜感激! 谢谢

在库中的ACTION_GET_CONTENT在ImageView的setImageURI()中不起作用后,Uri返回

我从画廊使用Uri获取图像 Intent intent = new Intent(); intent.setType(“image/*”); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(intent, “Choose Picture”), requestCode); 并尝试显示图像 imageView.setImageURI(uri); 这里,uri是intent.getData()在onActivityResult中收到的图像的Uri。 但没有显示图像。 另外,为 File file=new File( uri.getPath() ); file.exists()返回false。

从drawable图像中获取URI

如何获取drawable中保存的图像的URI。 我尝试过以下格式,但每次都无法加载图像。 imageURI= Uri.parse(“android.resource://” + getPackageName() + “/” + R.drawable.indoor_thumbnail1); imageURI=Uri.parse(“android.resource://”+getPackageName()+”/drawables/imageName”); imageURI=Uri.parse(“android.resource://”+getPackageName()+”/drawables/imageName.png”); imageURI = Uri.parse(“android.resource://”+ getResources().getResourceTypeName(R.drawable.indoor_thumbnail1)+”/” +getResources().getResourceEntryName(R.drawable.indoor_thumbnail1)+”.png” ); 不知道为什么我无法获取图像URI ..

如何在团结游戏中使用非主要活动来捕获自定义url?

当有人点击“com.foo.bar://testtest”forms的网页中的链接时,我希望它打开我的统一游戏并让我获取测试数据。 我是一名经验丰富的程序员,但是当涉及到android时,我有点谷歌而不是真正理解任何东西。 记住这一点。 🙂 我可以使用intent-filters对android上的链接做出反应。 但是,我发现的所有资源都假设您可以扩展主要活动以捕获新意图。 团结可以做到这一点,但出于各种原因,我宁愿不这样做。 我尝试创建一个新活动,将其导出到jar,然后将其添加到应用程序标记中的清单: 点击链接成功启动了我的游戏,但是在黑屏上。 编辑 :我也试过这种格式没有变化: 使整个游戏启动以及我的自定义活动有什么神奇的咒语,让我的自定义活动读取传入的URL,而不触及主要活动?

Android – 查询SMS ContentProvider?

我目前在以下URI“content:// sms /”上注册了一个内容观察者,以监听正在发送的传入和传出消息。 这似乎工作正常,我也尝试从短信数据库中删除但我只能从以下URI“content:// sms / conversations /”删除整个线程 这是我用于此的代码 String url = “content://sms/”; Uri uri = Uri.parse(url); getContentResolver().registerContentObserver(uri, true, new MyContentObserver(handler)); } class MyContentObserver extends ContentObserver { public MyContentObserver(Handler handler) { super(handler); } @Override public boolean deliverSelfNotifications() { return false; } @Override public void onChange(boolean arg0) { super.onChange(arg0); Log.v(“SMS”, “Notification on SMS observer”); Message msg […]

如何在Android中validation图像URI是否有效?

我正在构建自己的联系人选择器,因为我需要多选支持。 除了联系人图片的一个小问题外,一切都运行正常。 对于没有图像的联系人,我显示“无图像”图像。 这适用于手机通讯录中的联系人。 我遇到了一个问题,但是当涉及到谷歌联系人的图片时。 我的大部分谷歌联系人都没有照片。 但是,当我在“联系人”数据库​​中查询照片时,它仍会返回content://com.android.contacts/contacts/657/photoforms的URI content://com.android.contacts/contacts/657/photo (其格式与拥有相应内容的联系人相同)照片。 然后当我尝试使用bdg.setImageURI(pic);将照片分配给QuickContactBadge时bdg.setImageURI(pic); 它将其设置为基本上空白的图片,并记录一条静默的INFO消息,说明: INFO/System.out(3968): resolveUri failed on bad bitmap uri: content://com.android.contacts/contacts/657/photo 我需要知道我怎么做 a)validationURI 或 b)捕获上面的INFO消息 c)查询imageview /徽章以查看它是否find了有效图像 这样我就可以将这些联系人分配给我的“无图像”图像。 我该怎么做呢? 编辑20110812.0044 根据劳伦斯的建议(我已删除),我尝试将其添加到我的代码中: // rv is my URI variable if(rv != null) { Drawable d = Drawable.createFromPath(rv.toString()); if (d == null) rv = null; } 虽然谷歌联系人现在得到我的“无图像”图像,…所有其他联系人也是如此,包括实际上有图像的联系人。

如何检查Uri指向的资源是否可用?

我有Uri指出的资源(音乐文件)。 在尝试使用MediaPlayer播放之前,如何检查它是否可用? 它的Uri存储在数据库中,所以当删除文件或卸载的外部存储时,我只是在调用MediaPlayer.prepare()时遇到exception。 在上面的情况我想玩系统默认铃声。 在我遇到上述exception后,我当然可以这样做,但也许有一些更优雅的解决方案? 编辑:我忘了提到音乐文件Uri实际上是通过使用RingtonePreference获得的。 这意味着我可以让Uri指向内部存储,外部存储或默认系统铃声上的铃声。 Uri的例子是: content:// settings / system / ringtone – 用于选择默认铃声 content:// media / internal / audio / media / 60 – 用于内部存储上的铃声 content:// media / external / audio / media / 192 – 用于外部存储上的铃声 我对提议的“新文件(路径).exists()方法很满意,因为它将我从提到的exception中保存下来,但过了一段时间后我注意到它为我的所有铃声选择返回false …还有其他想法吗?