java - 如何修复“无法应用 ContextCompat 中的 startActivity()?”
问题描述
我正在使用 Google Vision OCR 从名片(OCR 图形活动)中获取电子邮件并将其发送到 SendEmail 活动中的收件人目的地。我的日志显示检测到电子邮件文本。
我试图将意图设置为将其发送到下一个活动,但我收到两个错误,“无法解析构造函数意图”关于我的新意图,并且无法应用启动活动。
这是 OcrGraphic 活动
List<Line> lines = (List<Line>) text.getComponents();
for(Line elements : lines) {
float left = translateX(elements.getBoundingBox().left);
float bottom = translateY(elements.getBoundingBox().bottom);
if (elements != null && elements.getValue() != null) {
if (elements.getValue().matches("^[_A-Za-z0-9-\\\\+]+(\\\\.[_A-Za-z0-9-]+)*@\"\n" +
"\t\t+ \"[A-Za-z0-9-]+(\\\\.[A-Za-z0-9]+)*(\\\\.[A-Za-z]{2,})$") || elements.getValue().contains("@")) {
Log.e("elementsemail", elements.getValue());
String email;
email = elements.getValue();
cEmail = email;
Intent sendIntent = new Intent(this, SendEmail.class);
sendIntent.putExtra(Intent.EXTRA_EMAIL, cEmail);
startActivity(sendIntent);
}
这是我的发送电子邮件活动
private void sendMail(){
Intent getIntent = getIntent();
String recipientList = getIntent.getStringExtra(OcrGraphic.cEmail);;
String[] recipients = recipientList.split(",");
String subject = mEditTextSubject.getText().toString();
String message = mEditTextMessage.getText().toString();
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, recipients);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, message);
intent.setType("message/rfc822");
startActivity(Intent.createChooser(intent, "Choose an email client"));
}
我想将电子邮件地址发送到 SendEmail 活动。我是java和android的新手,欢迎任何帮助。
解决方案
请替换这个:
Intent sendIntent = new Intent(this, SendEmail.class);
用这个:
Intent sendIntent = new Intent(getApplicationContext(), SendEmail.class);
编辑
您需要在这样的构造函数中传递上下文
private Context context;
OcrGraphic(GraphicOverlay overlay, TextBlock text, Context context) {
super(overlay);
this.context = context;
}
接着
Intent sendIntent = new Intent(context, SendEmail.class);
推荐阅读
- javascript - 如何使用 xmlhttp 请求传递文件信息
- php - 使用 woocommerce_product_set_stock 挂钩时获取库存变化的原因
- leaflet - Leaflet.MovingMarker,设置“destination”事件旋转图标
- php - PHP switch 语句表现得很奇怪
- ruby-on-rails - Rails has_many :通过简单形式的嵌套形式
- ruby-on-rails - Mongoid与范围有很多关系
- r - 如何根据元素的属性对R中的列表进行排序
- css - “之前”元素的 CSS 定位
- php - 如何在 php 中调用 Vimeo API?
- reactjs - 跨环境 NODE_ENV=开发 npm 运行 webpack-development