package testcode.android; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.webkit.WebView; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; public class WebViewJavascriptInterfaceActivity extends Activity { @Override protected void onCreate(Bundle b) { super.onCreate(b); UserSession user = new UserSession(); WebView myWebView = (WebView) findViewById(R.id.webView); myWebView.addJavascriptInterface(user, "userInfo"); myWebView.addJavascriptInterface(new FileWriteUtil(this), "fileWriteUtil"); } class UserSession { public String userName; public String firstName; public String lastName; public String sessionId; public String getUserName() { return userName; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public String getSessionId() { return sessionId; } } class FileWriteUtil { Context mContext; /** Instantiate the interface and set the context */ FileWriteUtil(Context c) { mContext = c; } public void writeToFile(String data, String filename, String tag) { try { File root = Environment.getExternalStorageDirectory(); File dir = new File (root.getAbsolutePath() + "/foldercustom"); dir.mkdirs(); File file = new File(dir, filename); FileOutputStream f = new FileOutputStream(file); PrintWriter pw = new PrintWriter(f); pw.println(data); pw.flush(); pw.close(); f.close(); } catch (IOException e) { Log.e(tag, "File write failed: " + e.toString()); } } } }