Created
March 17, 2013 15:19
-
-
Save anonymous/5181986 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.playseebow.prescriptionuploader; | |
import android.net.ConnectivityManager; | |
import android.net.NetworkInfo; | |
import android.net.Uri; | |
import android.os.Bundle; | |
import android.provider.Settings; | |
import android.app.Activity; | |
import android.app.AlertDialog; | |
import android.content.Context; | |
import android.content.DialogInterface; | |
import android.content.Intent; | |
import android.view.Menu; | |
import android.view.Window; | |
import android.webkit.ValueCallback; | |
import android.webkit.WebView; | |
import android.webkit.WebChromeClient; | |
import android.webkit.WebViewClient; | |
import android.widget.Toast; | |
public class MainActivity extends Activity { | |
private WebView wv; | |
/* Display a dialog that user has no internet connection | |
* @param ctx1 | |
* | |
* Code from: http://osdir.com/ml/Android-Developers/2009-11/msg05044.html | |
*/ | |
public boolean isOnline() { | |
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); | |
NetworkInfo netInfo = cm.getActiveNetworkInfo(); | |
if (netInfo != null && netInfo.isConnected()) { | |
return true; | |
} | |
return false; | |
} | |
public void showNoConnectionDialog(Context ctx1) { | |
final Context ctx = ctx1; | |
AlertDialog.Builder builder = new AlertDialog.Builder(ctx); | |
builder.setCancelable(true); | |
builder.setMessage(R.string.no_connection); | |
builder.setTitle(R.string.no_connection_title); | |
builder.setPositiveButton(R.string.settings, new DialogInterface.OnClickListener() { | |
public void onClick(DialogInterface dialog, int which) { | |
ctx.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)); | |
} | |
}); | |
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { | |
public void onClick(DialogInterface dialog, int which) { | |
return; | |
} | |
}); | |
builder.setOnCancelListener(new DialogInterface.OnCancelListener() { | |
public void onCancel(DialogInterface dialog) { | |
return; | |
} | |
}); | |
builder.show(); | |
} | |
private ValueCallback<Uri> mUploadMessage; | |
private final static int FILECHOOSER_RESULTCODE=1; | |
@Override | |
protected void onActivityResult(int requestCode, int resultCode, | |
Intent intent) { | |
if(requestCode==FILECHOOSER_RESULTCODE) | |
{ | |
if (null == mUploadMessage) return; | |
Uri result = intent == null || resultCode != RESULT_OK ? null | |
: intent.getData(); | |
mUploadMessage.onReceiveValue(result); | |
mUploadMessage = null; | |
} | |
} | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
wv = new WebView(this); | |
// wv = (WebView) findViewById(R.id.webview); | |
wv.loadUrl("http://www.playseebow.com/prescription-upload-2"); | |
// Let's display the progress in the activity title bar, like the | |
// browser app does. | |
getWindow().requestFeature(Window.FEATURE_PROGRESS); | |
// wv.getSettings().setJavaScriptEnabled(true); | |
final Activity activity = this; | |
wv.setWebViewClient(new WebViewClient(){ | |
// public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { | |
// Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show(); | |
// } | |
}); | |
//Progress bar and HTML Upload button-fix | |
wv.setWebChromeClient(new WebChromeClient() { | |
public void onProgressChanged(WebView view, int progress) { | |
// Activities and WebViews measure progress with different scales. | |
// The progress meter will automatically disappear when we reach 100% | |
activity.setProgress(progress * 100); | |
} | |
// For Android 3.0+ | |
public void openFileChooser( ValueCallback<Uri> uploadMsg, String acceptType ) { | |
mUploadMessage = uploadMsg; | |
Intent i = new Intent(Intent.ACTION_GET_CONTENT); | |
i.addCategory(Intent.CATEGORY_OPENABLE); | |
i.setType("image/*"); | |
MainActivity.this.startActivityForResult( Intent.createChooser( i, "File Chooser" ), MainActivity.FILECHOOSER_RESULTCODE ); | |
} | |
// For Android < 3.0 | |
public void openFileChooser( ValueCallback<Uri> uploadMsg ) { | |
openFileChooser( uploadMsg, "" ); | |
} | |
// For Android > 4.1 | |
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){ | |
openFileChooser( uploadMsg, "" ); | |
} | |
}); | |
setContentView(wv); | |
} | |
// eclipse default | |
@Override | |
public boolean onCreateOptionsMenu(Menu menu) { | |
// Inflate the menu; this adds items to the action bar if it is present. | |
getMenuInflater().inflate(R.menu.main, menu); | |
return true; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment