歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

調用Android的拍照或本地相冊選取再實現相片上傳服務器

如何調用Android的拍照或本地相冊選取,然後再實現相片上傳服務器。

首先是拍照:使用Intent即可,

  1. final String start = Environment.getExternalStorageState();
  2. private static final String PHOTOPATH = "/photo/";  
  3. if(start.equals(Environment.MEDIA_MOUNTED)){ 
  4. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
  5. File file = new File(Environment.getExternalStorageDirectory()+PHOTOPATH); 
  6. if(!file.exists()){  
  7. file.mkdirs();  
  8. }  
  9. tempphontname = System.currentTimeMillis()+".jpg";  
  10. buffer.append(Environment.getExternalStorageDirectory()+PHOTOPATH).append(tempphontname); 
  11. intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(buffer.toString())));  
  12. startActivityForResult(intent, 1);  
  13. }  

其次是從本地相冊選:依舊是Intent.

如下代碼:

  1. if(start.equals(Environment.MEDIA_MOUNTED)){  
  2.                             Intent getImage = new Intent(Intent.ACTION_GET_CONTENT);  
  3.                             getImage.addCategory(Intent.CATEGORY_OPENABLE);  
  4.                             getImage.setType("image/jpeg");  
  5.                             startActivityForResult(getImage, 0);  
  6. }

接下來是主要的:因為調用完系統的方法後,回返回到回調方法onActivityResult(int, int, Intent)中,

在裡面進行主要的照片上傳服務器的操作,

見代碼:

  1. @Override  
  2.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  3.         ContentResolver resolver = getContentResolver();  
  4.         if(requestCode==1)//   
  5.         {  
  6.             if(resultCode==Activity.RESULT_OK)  
  7.             {  
  8.                 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))  
  9.                 {  
  10. ew Thread(new Runnable()  
  11.                     {  
  12.                         @Override  
  13.                         public void run() {  
  14. //進行上傳操作   
  15. }  
  16. }.start();  

接下來就可以根據自己的需求搞定了···

Copyright © Linux教程網 All Rights Reserved