如题,如果有多个拍照软件,调用系统相机时会弹出选择列表,如何能够避开这种方式,直接打开系统照相机

解决方案 »

  1.   

    弹出选择列表的原因是:发了一个intent被这些拍照软件接收到;这个intent应该是一个标准的intent,可以找一下列表弹出框底下打钩的地方的源码,看做了些什么,不知道有没有人研究过这个
      

  2.   


     ComponentName com = new ComponentName("包名", "完整类名");   
                    Intent  intent = new Intent();     
                    intent.setComponent(com);   
                    startActivity(intent); 
      可以用这种方式直接启动你想要的应用,不知道可不可以解决你的问题
      

  3.   

    你启动的方式改成2楼的方式就可以了.不然的话系统会把所有可以处理相同intent的app弹出来供你选择
      

  4.   

    感谢2楼,这个方法可以解决,但是如果是索爱的手机或者非htc的手机,那么系统相机的包名就不好确定了,htc的手机系统相机的包名为“com.android.camera” 索爱的相机系统包名为"com.sonyericsson.android.camera",这个包名有没有什么办法从系统获得呢?