你的意思是不是用已安装的图片浏览app去打开指定的文件?

解决方案 »

  1.   

    抱歉!看错啦 我能做的只是打开特定的app,你这个我搞不定如果只是打开特定的app的话 只需      ComponentName component = new ComponentNam("appPackageName","appClassName");      Intent intent = new Intent();      intent.setComponent(component);      context.startActivity(intent);
    appPackageName,appClassName这两个参数下打开你想打开的app是Logcat中会找到
      

  2.   

    那个自带的叫 gallery 3d好像是这个名字的
      

  3.   

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

  4.   

    最后一句改成startActivity(intent);
      

  5.   

    还可以通过startActivityForResult把你选择的图片给显示到你的程序中,如果你想要的话。
      

  6.   

    多谢chen515272204、zhangjingtao6100和yuxlong2010,
    我现在使用系统自带的图片浏览器应用程序Gallery可以打开一张指定的图片,//使用Intent
    Intent intent = new Intent(Intent.ACTION_VIEW);
    //Uri mUri = Uri.parse("file://" + picFile.getPath());Android3.0以后最好不要通过该方法,存在一些小Bug
    intent.setDataAndType(Uri.fromFile(picFile), "image/*");
    startActivity(intent);我打算实现浏览指定文件夹中的所有图片,并实现翻页的效果,类似于widget中的Gallery和ImageSwitch相结合的效果,但是由于图片本身较大,直接用Widge中的图片控件打不开,但通过BitmapFactory.Options的inJustDecodeBounds和inSampleSize可以压缩打开,但是在通过手势放大的时候,图片本身就不是很清晰。
    所以想借助于系统自带的图片浏览器实现该功能。
    我是想把该功能直接嵌入到程序中,不通过选择图片位置的方式打开,yuxlong2010提供的是通过让用户选择图片路径而打开一张图片。
      

  7.   

    恩,我也试过,打开指定路径的单张图片是没有问题的,看来根据文件夹目录打开图片的方式是不可行的,最好的办法是研究一下Android系统自带图片浏览器Gallery的源码才行了。多谢各位!我还是研究一下源码吧,如果成功的话,等过一段时间把方法公布出来。
      

  8.   

    http://stackoverflow.com/questions/10749351/how-to-open-one-particular-folder-from-gallery-in-android
    问题解决啦!!!!嘎嘎,不是 不可能。是  “不,可能!”
    测试方法: 请在sdcard  目录下新建文件夹  photo.并将此文件夹 中复制少量图片。import java.io.File;
    import android.app.Activity;
    import android.content.Intent;
    import android.media.MediaScannerConnection;
    import android.media.MediaScannerConnection.MediaScannerConnectionClient;
    import android.net.Uri;
    import android.os.Bundle;
    import android.os.Environment;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;/**
    欢迎关注我的微博 http://weibo.com/lixiaodaoaaa
     http://t.qq.com/lixiaodaoaaa
    */public class SDCARD123Activity extends Activity implements MediaScannerConnectionClient{
        public String[] allFiles;
    private String SCAN_PATH ;
    private static final String FILE_TYPE="image/*";private MediaScannerConnection conn;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);    File folder = new File("/sdcard/Photo/");
        allFiles = folder.list();
     //   uriAllFiles= new Uri[allFiles.length];          
        for(int i=0;i<allFiles.length;i++)
        {
            Log.d("all file path"+i, allFiles[i]+allFiles.length);
        }
      //  Uri uri= Uri.fromFile(new File(Environment.getExternalStorageDirectory().toString()+"/yourfoldername/"+allFiles[0]));
        SCAN_PATH=Environment.getExternalStorageDirectory().toString()+"/Photo/"+allFiles[0];
        System.out.println(" SCAN_PATH  " +SCAN_PATH);    Log.d("SCAN PATH", "Scan Path " + SCAN_PATH);
        Button scanBtn = (Button)findViewById(R.id.scanBtn);
        scanBtn.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            startScan();
        }});
        }
        private void startScan()
        {
        Log.d("Connected","success"+conn);
        if(conn!=null)
        {
        conn.disconnect();
        }
        conn = new MediaScannerConnection(this,this);
        conn.connect();
        }
    @Override
    public void onMediaScannerConnected() {
        Log.d("onMediaScannerConnected","success"+conn);
        conn.scanFile(SCAN_PATH, FILE_TYPE);    
    }
    @Override
    public void onScanCompleted(String path, Uri uri) {
        try {
            Log.d("onScanCompleted",uri + "success"+conn);
            System.out.println("URI " + uri);             
            if (uri != null) 
            {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setData(uri);
            startActivity(intent);
            }
            } finally 
            {
            conn.disconnect();
            conn = null;
            }
           }
    }
      

  9.   

    可以参考这里 :http://stackoverflow.com/questions/10749351/how-to-open-one-particular-folder-from-gallery-in-android
      

  10.   

    恩,我也试过,打开指定路径的单张图片是没有问题的,看来根据文件夹目录打开图片的方式是不可行的,最好的办法是研究一下Android系统自带图片浏览器Gallery的源码才行了。多谢各位!我还是研究一下源码吧,如果成功的话,等过一段时间把方法公布出来。
      

  11.   

    http://stackoverflow.com/questions/10749351/how-to-open-one-particular-folder-from-gallery-in-android
    问题解决啦!!!!嘎嘎,不是 不可能。是  “不,可能!”
    测试方法: 请在sdcard  目录下新建文件夹  photo.并将此文件夹 中复制少量图片。
      

  12.   

    在android2.3.6上,调用图库显示图片时,如果在图库当中双击放大图片和翻页,然后返回的时候,偶尔会出现:之前的Activity重新onCreate()。
      

  13.   

    请问如果知道照片名称,如何预览这一张照片呢?我有一个TextView  在这个TextView上面显示了一张照片的名称,  我想单击这个TextView  实现对这张照片的预览 
      

  14.   

    http://stackoverflow.com/questions/10749351/how-to-open-one-particular-folder-from-gallery-in-android这个我测了也不可以。onScanCompleted返回的Uri的路径跟scanFile中的路径不是一样的。
      

  15.   

      Intent mIntent = sContext
                        .getPackageManager()
                        .getLaunchIntentForPackage(packName);
                mIntent.addCategory(Intent.CATEGORY_LAUNCHER);
                MainService.this.startActivity(mIntent); 
    没问题可以打开图片浏览器
      

  16.   

    多谢chen515272204、zhangjingtao6100和yuxlong2010,
    我现在使用系统自带的图片浏览器应用程序Gallery可以打开一张指定的图片,
    Java code
    ?
    1
    2
    3
    4
    5
    //使用Intent
    Intent intent = new Intent(Intent.ACTION_VIEW);
    //Uri mUri = Uri.parse("file://" + picFile.getPath());Android3.0以后最好不要通过该方法,存在一些小Bug
    intent.setDataAndType(Uri.fromFile(picFile), "image/*");
    startActivity(intent);我打算实现浏览指定文件夹中的所有图片,并实现翻页的效果,类似于widget中的Gallery和ImageSwitch相结合的效果,但是由于图片本身较大,直接用Widge中的图片控件打不开,但通过BitmapFactory.Options的inJustDecodeBounds和inSampleSize可以压缩打开,但是在通过手势放大的时候,图片本身就不是很清晰。
    所以想借助于系统自带的图片浏览器实现该功能。
    我是想把该功能直接嵌入到程序中,不通过选择图片位置的方式打开,yuxlong2010提供的是通过让用户选择图片路径而打开一张图片。
    你好,这个问题解决了吗?我现在也遇到这个问题了,跟你的一样。
      

  17.   

    @lixiaodaoaaa 打开指定路径的相册只能使用一次,不退出应用再点击扫描按钮,相册闪退,什么情况