如何打开**android中的SD卡文件**”;如果我点击该文件,它必须在emulator中打开?

如何打开**android中的SD卡文件**”;如果我点击该文件,它必须在emulator中打开?,android,pdf,Android,Pdf,如何在android中打开“SD卡文件”,如果我单击该文件,它必须在emulator中打开?请查看以下代码- 扩展ListActivity ArrayAdapter<String> adapter; int clickCounter=0; ArrayList<String> listItems=new ArrayList<String>(); private File[] imagelist; String[] pdflist;

如何在android中打开“SD卡文件”,如果我单击该文件,它必须在emulator中打开?

请查看以下代码-

扩展ListActivity

ArrayAdapter<String> adapter;
    int clickCounter=0;
    ArrayList<String> listItems=new ArrayList<String>();
    private File[] imagelist;
    String[] pdflist;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            File images = Environment.getExternalStorageDirectory();  
            imagelist = images.listFiles(new FilenameFilter(){  
                    public boolean accept(File dir, String name)  
                    {  
                            return ((name.endsWith(".pdf")));  
                    }  
            }); 
            pdflist = new String[imagelist.length]; 
            for(int i = 0;i<imagelist.length;i++)
            {
                    pdflist[i] = imagelist[i].getName();
            }
            this.setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, pdflist));
    }
    @SuppressWarnings("rawtypes")
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
            super.onListItemClick(l, v, position, id);
            PackageManager packageManager = getPackageManager();
             Intent testIntent = new Intent(Intent.ACTION_VIEW);
             testIntent.setType("application/pdf");
             List list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY);
             if (list.size() > 0 && imagelist[(int) id].isFile()) {
                 Intent intent = new Intent();
                 intent.setAction(Intent.ACTION_VIEW);
                 Uri uri = Uri.fromFile(imagelist[(int) id].getAbsoluteFile());
                 intent.setDataAndType(uri, "application/pdf");
                 startActivity(intent);
             }
    }
阵列适配器;
int clickCounter=0;
ArrayList listItems=新的ArrayList();
私有文件[]图像列表;
字符串[]pdflist;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
文件images=Environment.getExternalStorageDirectory();
imagelist=images.listFiles(新文件名筛选器(){
公共布尔接受(文件目录,字符串名称)
{  
返回((name.endsWith(.pdf));
}  
}); 
pdflist=新字符串[imagelist.length];
对于(int i=0;i 0&&imagelist[(int)id].isFile()){
意图=新意图();
intent.setAction(intent.ACTION\u视图);
Uri=Uri.fromFile(imagelist[(int)id].getAbsoluteFile());
setDataAndType(uri,“应用程序/pdf”);
星触觉(意向);
}
}
Main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ListView android:id="@+android:id/list" android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:drawSelectorOnTop="false" />
</LinearLayout>

查看此代码-

扩展ListActivity

ArrayAdapter<String> adapter;
    int clickCounter=0;
    ArrayList<String> listItems=new ArrayList<String>();
    private File[] imagelist;
    String[] pdflist;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            File images = Environment.getExternalStorageDirectory();  
            imagelist = images.listFiles(new FilenameFilter(){  
                    public boolean accept(File dir, String name)  
                    {  
                            return ((name.endsWith(".pdf")));  
                    }  
            }); 
            pdflist = new String[imagelist.length]; 
            for(int i = 0;i<imagelist.length;i++)
            {
                    pdflist[i] = imagelist[i].getName();
            }
            this.setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, pdflist));
    }
    @SuppressWarnings("rawtypes")
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
            super.onListItemClick(l, v, position, id);
            PackageManager packageManager = getPackageManager();
             Intent testIntent = new Intent(Intent.ACTION_VIEW);
             testIntent.setType("application/pdf");
             List list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY);
             if (list.size() > 0 && imagelist[(int) id].isFile()) {
                 Intent intent = new Intent();
                 intent.setAction(Intent.ACTION_VIEW);
                 Uri uri = Uri.fromFile(imagelist[(int) id].getAbsoluteFile());
                 intent.setDataAndType(uri, "application/pdf");
                 startActivity(intent);
             }
    }
阵列适配器;
int clickCounter=0;
ArrayList listItems=新的ArrayList();
私有文件[]图像列表;
字符串[]pdflist;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
文件images=Environment.getExternalStorageDirectory();
imagelist=images.listFiles(新文件名筛选器(){
公共布尔接受(文件目录,字符串名称)
{  
返回((name.endsWith(.pdf));
}  
}); 
pdflist=新字符串[imagelist.length];
对于(int i=0;i 0&&imagelist[(int)id].isFile()){
意图=新意图();
intent.setAction(intent.ACTION\u视图);
Uri=Uri.fromFile(imagelist[(int)id].getAbsoluteFile());
setDataAndType(uri,“应用程序/pdf”);
星触觉(意向);
}
}
Main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ListView android:id="@+android:id/list" android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:drawSelectorOnTop="false" />
</LinearLayout>

公共类Testopen扩展活动{
私人名单;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File File=新文件(Environment.getExternalStorageDirectory()
+文件分隔符
+“mymusic”//文件夹名称
);
如果(!file.exists()){
mkdirs()文件;
}
ListView lv=(ListView)findViewById(R.id.listview1);
list=getSD();
lv.setAdapter((ListAdapter)新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,list));
Log.d(“Log”,“FIRE!!”);
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//单击后,显示带有文本视图文本的祝酒词
Toast.makeText(Testopen.this,“单击一项”,Toast.LENGTH_LONG.show();
Intent Intent=新的Intent(Testopen.this、OpenFileActivity.class);
星触觉(意向);
}
});
}
//从SD卡读取
私有列表getSD(){
列表项=新建ArrayList();
文件f=新文件(“/sdcard/download”);
File[]files=f.listFiles();
对于(int i=0;i
公共类Testopen扩展活动{
私人名单;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File File=新文件(Environment.getExternalStorageDirectory()
+文件分隔符
+“mymusic”//文件夹名称
);
如果(!file.exists()){
mkdirs()文件;
}
ListView lv=(ListView)findViewById(R.id.listview1);
list=getSD();
lv.setAdapter((ListAdapter)新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,list));
Log.d(“Log”,“FIRE!!”);
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//单击后,显示带有文本视图文本的祝酒词
Toast.makeText(Testopen.this,“单击一项”,Toast.LENGTH_LONG.show();
Intent Intent=新的Intent(Testopen.this、OpenFileActivity.class);
星触觉(意向);
}
});
}
//从SD卡读取
私有列表getSD(){
列表项=新建ArrayList();
文件f=新文件(“/sdcard/download”);
File[]files=f.listFiles();
对于(int i=0;i