我是Android和Java的新手.我使用HTML/Javascript构建了一个应用程序很好的应用程序.
我现在需要创建一个启动电子邮件客户端的活动,填写主题和正文,并且(困难的部分)添加文件附件.我无法在JavaScript中执行此操作,mailto:也不会附加该文件.
所以我需要通过Java完成这个并从JavaScript执行它.我认为这可以通过使用来完成,addJavaScriptInterface但我找不到任何详细的文档或示例.
我怎么能这样做?
以下是我在阅读文档后到目前为止所拥有的内容:
第二次更新代码:
MainActivity.java
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setIntegerProperty( "splashscreen", R.drawable.splash );
super.loadUrl("file:///android_asset/www/index.html", 1000);
WebView mWebView;
mWebView = (WebView)findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new JavaScriptInterface(), "Android");
}
}
Run Code Online (Sandbox Code Playgroud)
JavaScriptInterface.java
public class JavaScriptInterface {
public void doEmail(){
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/html");
sendIntent.putExtra(android.content.Intent.EXTRA_TEXT,"test text");
sendIntent.putExtra(Intent.EXTRA_SUBJECT,"test subject");
sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
sendIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("file://test co.html"));
startActivity(Intent.createChooser(sendIntent, "Send email..."));
}
}
Run Code Online (Sandbox Code Playgroud)
然后我将使用Android.doEmail()通过JavaScript引用意图.
使用上面的代码我在Eclipse 1中遇到2个错误.方法startActivity(Intent)未定义类型--JavaScriptInterface 2. webview无法解析或不是字段 - MainActivity
我究竟做错了什么?
因此,当我拍照时,它们会被保存到DCIM/Camera /目录中.我需要在通过电子邮件发送后检索图片.
我怎样才能得到最后一张照片的名字?(或调整我当前的代码以自定义文件名.)
这是拍照的代码:
function capturePhoto(id) {
navigator.camera.getPicture(onSuccess, onFail, { quality: 20,
destinationType: Camera.DestinationType.FILE_URI });
function onSuccess(imageURI) {
var image = document.getElementById(id);
image.style.display = 'block';
image.src = imageURI;
}
function onFail(message) {
alert('Failed because: ' + message);
}
}
Run Code Online (Sandbox Code Playgroud)