清除意图操作默认值

时间:2014-05-11 12:41:07

标签: java android android-intent android-camera

我正在以正常模式或安全模式启动相机应用程序,具体取决于使用我的应用程序执行的操作,但是一旦用户选择应用程序并点按“始终”,则无法更改默认设置,即使从Android中的设置菜单也是如此

camera_intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
secure_camera_intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE);
camera_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
secure_camera_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

this.startActivity(camera_intent);
//this.startActivity(secure_camera_intent);

有解决方法吗?我想再次显示相机选择对话框,以便用户可以改变他的选择。

2 个答案:

答案 0 :(得分:0)

如果您想要显示应用选择器,即使用户已为该任务选择了默认活动,也请使用Intent.createChooser()

来自Android developer guide

  

如果你调用Intent.createChooser(),将它传递给你的Intent对象   返回您的意图版本,该版本将始终显示选择器。   这有一些优点:

     
      
  • 即使用户之前为此意图选择了默认操作,仍会显示选择器。
  •   
  • 如果没有应用程序匹配,Android会显示系统消息。
  •   
  • 您可以为选择器对话框指定标题。
  •   

您还应该查看ACTION_CHOOSER的文档,了解适合与否的指南(Intent.createChooser()只是一种方便的方法)。

答案 1 :(得分:0)

startActivity(Intent.createChooser(senderIntent, "Title here"));

它将始终显示选择器对话框。