2016-07-03 10 views
0

Ich mache meine App für meine Website von Android Studio (die klassische Methode) laden Bild, in MainActivity.java:Wie App zu ermöglichen, in meiner Website

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); 
} 

}

und diesem Code (AndroidManifest.xml):

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

so, meine Website für Kleinanzeigen und brauchen Bilder hochladen, aber diese App nicht zulassen, dass, wie kann ich machte es erlauben, Bilder hochladen? hinweis: ich bin neu in android studio so neu in stackoverflow.com. danke

+0

Bitte fügen Sie Ihren Code in-line anstelle von einem Screenshot davon. Sie müssen auch genauer über "diese App nicht erlauben". Erklären Sie besser, was das erwartete Verhalten ist und was das aktuelle Verhalten ist und ob es Fehler gibt und was sie sagen. Lesen Sie "Wie Sie fragen" http://StackOverflow.com/Help/Mcve für weitere Informationen. –

Antwort

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

Wo kann ich diesen Code bitte hinzufügen? –

+0

folgen Sie diesem Tutorial http://androidexample.com/Open_File_Chooser_With_Camera_Option_In_Webview_File_Option/index.php?view=article_discription&aid=128 –

Verwandte Themen