2016-07-03 143 views
0

我让我的应用程序为我MainActivity.java网站由机器人工作室(经典方法), :如何让应用上传图片在我的网站

import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class MainActivity extends AppCompatActivity { 
private WebView myWebView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    myWebView = (WebView)findViewById(R.id.webView); 
    WebSettings webSettings = myWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    myWebView.loadUrl("http://www.toptipstricks.com"); 
    myWebView.setWebViewClient(new WebViewClient()); 

} 

@Override 
public void onBackPressed() { 
    if(myWebView.canGoBack()){ 
     myWebView.goBack(); 
    } else { 
     super.onBackPressed(); 
    } 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

}

和验证码( AndroidManifest.xml中):

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

所以,我的网站分类,并需要上传图片,但这个程序不允许,我怎样才能使它允许上传图片? 请注意:我是新的android工作室如此新的在stackoverflow.com。 谢谢

+0

请包括你的代码,而不是它的屏幕截图。此外,您需要更具体地说明“这个应用程序不允许”。更好地解释预期的行为是什么,当前的行为是什么,以及是否有任何错误,以及他们说了些什么。阅读“如何问”http://stackoverflow.com/help/mcve获取更多信息。 –

回答

0
 webView.setWebChromeClient(new WebChromeClient() { 

     // openFileChooser for Android 3.0+ 
     public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType){ 

      // Update message 
      mUploadMessage = uploadMsg; 

      try{  

       // Create AndroidExampleFolder at sdcard 

       File imageStorageDir = new File(
             Environment.getExternalStoragePublicDirectory(
             Environment.DIRECTORY_PICTURES) 
             , "AndroidExampleFolder"); 

       if (!imageStorageDir.exists()) { 
        // Create AndroidExampleFolder at sdcard 
        imageStorageDir.mkdirs(); 
       } 

       // Create camera captured image file path and name 
       File file = new File(
           imageStorageDir + File.separator + "IMG_" 
           + String.valueOf(System.currentTimeMillis()) 
           + ".jpg"); 

       mCapturedImageURI = Uri.fromFile(file); 

       // Camera capture image intent 
       final Intent captureIntent = new Intent(
               android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

       captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI); 

       Intent i = new Intent(Intent.ACTION_GET_CONTENT); 
       i.addCategory(Intent.CATEGORY_OPENABLE); 
       i.setType("image/*"); 

       // Create file chooser intent 
       Intent chooserIntent = Intent.createChooser(i, "Image Chooser"); 

       // Set camera intent to file chooser 
       chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS 
             , new Parcelable[] { captureIntent }); 

       // On select image call onActivityResult method of activity 
       startActivityForResult(chooserIntent, FILECHOOSER_RESULTCODE); 

       } 
      catch(Exception e){ 
       Toast.makeText(getBaseContext(), "Exception:"+e, 
          Toast.LENGTH_LONG).show(); 
      } 

     } 




@Override 
    protected void onActivityResult(int requestCode, int resultCode, 
            Intent intent) { 

if(requestCode==FILECHOOSER_RESULTCODE) 
{ 

     if (null == this.mUploadMessage) { 
      return; 

     } 

     Uri result=null; 

     try{ 
      if (resultCode != RESULT_OK) { 

       result = null; 

      } else { 

       // retrieve from the private variable if the intent is null 
       result = intent == null ? mCapturedImageURI : intent.getData(); 
      } 
     } 
     catch(Exception e) 
     { 
      Toast.makeText(getApplicationContext(), "activity :"+e, 
      Toast.LENGTH_LONG).show(); 
     } 

     mUploadMessage.onReceiveValue(result); 
     mUploadMessage = null; 

} 

} 
+0

请问我可以在哪里添加此代码? –

+0

请按照本教程http://androidexample.com/Open_File_Chooser_With_Camera_Option_In_Webview_File_Option/index.php?view=article_discription&aid=128 –

相关问题