java - 如何修复 "startActivity() in ContextCompat cannot be applied to?"

标签 java android android-intent google-cloud-vision

我正在使用 Google Vision OCR 从名片(OCR 图形 Activity )中获取电子邮件,并将其发送到 SendEmail Activity 中的“收件人”目的地。我的日志显示已检测到电子邮件文本。

我尝试设置 Intent 将其发送到下一个 Activity ,但我收到两个错误,“无法解析构造函数 Intent ”在我的新 Intent 上,并且无法应用启动 Activity 。

这是 OcrGraphic Activity

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


                }

这是我的发送电子邮件 Activity

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 Activity 。我是java和android的新手,欢迎任何帮助。

最佳答案

我认为您的问题是如何获得额外的(EXTRA_EMAIL)
StringrecipientList = getIntent.getStringExtra(OcrGraphic.cEmail);; 替换为 StringrecipientList = getIntent.getStringExtra(Intent.EXTRA_EMAIL);

关于java - 如何修复 "startActivity() in ContextCompat cannot be applied to?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155219/

相关文章:

java - 如何在 jar 文件上远程执行方法

java - 如何获取扩展 JPanel 的类的实例以在另一个类 JPanel 中显示?

java - Android 6.0 : java.net.UnknownHostException : Unable to resolve host. 在 Android 7.0 中工作正常

android - 如何为应用程序上下文启动 Intent

android - 警告(窗口已经聚焦,忽略焦点增益)。从外部 Activity 启动 Facebook 应用程序

android - Espresso 测试失败 : AssertionFailedWithCause: Wanted to match 1 intents. 实际上匹配 0 个 Intent

java - Mobicents jDiameter git上的示例有什么问题

java - 插入后无法从 SQLite 中找到列

java - SAF(Storage Access Framework) 是否解决了 Android 4.4 (KitKat) 中的 SD 卡 WRITE 问题?

android - 将值从 ActionBarActivity 发送到 ListFragment