Android - 在我的应用中控制图库

时间:2012-02-02 06:41:29

标签: android image android-intent gallery

是否可以从我的应用程序中获取对android图库的控制权?我可以打开下面的图库和图片,但是,每当我点击后退按钮时,它会直接返回我的应用程序,但我希望后退按钮首先返回到图库,然后返回到我的应用程序,以便用户必须单击两次后退按钮才能返回我的应用程序

我的代码如下:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("content://media/external/images/media"), "image/*");
        startActivityForResult(intent, 0); 

但是,参考下面的代码,我可以允许用户首先返回到图库,然后单击后退按钮两次返回我的应用程序,但我无法允许用户打开并查看图像,意思是,一旦我点击启动图像,它就会立即回到我的应用程序。

代码:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 0); 

任何帮助将不胜感激!提前致谢! :)

1 个答案:

答案 0 :(得分:1)

开始更改“后退”按钮,行为, 你需要覆盖onKeyDown()方法,而不是检查是否按下了所需的按钮:

//覆盖onKeyDown方法

   @Override  
    public boolean onKeyDown(int keyCode, KeyEvent event)  
    {  
        //replaces the default 'Back' button action  
        if(keyCode==KeyEvent.KEYCODE_BACK)  
        {  
            //do whatever you want the 'Back' button to do  
            //as an example the 'Back' button is set to start a new Activity named 'NewActivity'  
            this.startActivity(new Intent(YourActivity.this,NewActivity.class));  
        }  
        return true;  
    }  

此代码重写OnKeyDown()方法,每次按下一个键时都会调用该方法。此方法中的if语句检查是否已按下“后退”按钮。 如果是,则执行块内的代码。

@Override  
public void onBackPressed()  
{  
    //do whatever you want the 'Back' button to do  
    //as an example the 'Back' button is set to start a new Activity named 'NewActivity'  
    this.startActivity(new Intent(YourActivity.this,NewActivity.class));  

    return;  
} 

您可以将自己的活动和事件用于实现。

想要更多使用Back Button Behaviour

如果您需要更多帮助,请告诉我们!