我目前正在尝试实现一个自定义键盘,发送一个图像(可能是通过一个意图?)对某个应用程序。更具体地说,我正在尝试在自定义键盘上创建一个键,将图像发送到默认消息应用程序,以便可以将其作为彩信发送。为此,我修改了示例软键盘项目。以下是我目前掌握的情况:private void handleCharacter(int primaryCode, int[] keyCodes) { if (isInputViewShown()) { if (mInputView.isShifted()) { primaryCode = Character.toUpperCase(primaryCode); } } if (isAlphabet(primaryCode) && mPredictionOn) { mComposing.append((char) primaryCode); // Send message here Intent pictureMessageIntent = new Intent(Intent.ACTION_SEND); pictureMessageIntent.setType("image/png"); Uri uri = Uri.parse("android.resource://" + this.getPackageName() + "/drawable/icon_en_gb"); pictureMessageIntent.putExtra(Intent.EXTRA_STREAM, uri); startActivity(pictureMessageIntent); getCurrentInputConnection().setComposingText(mComposing, 1); updateShiftKeyState(getCurrentInputEditorInfo()); updateCandidates(); } else { getCurrentInputConnection().commitText( String.valueOf((char) primaryCode), 1); }}问题是我得到一个运行时异常,它说:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?我不熟悉android自定义键盘,但我不确定是否开始一个新的活动是最好的主意。有人有什么建议吗? 最佳答案 问题是活动通常是从其他活动开始的。android添加了这个错误,以确保开发人员只是自愿和有意识地更改这个流。在发送解决问题的意图之前添加以下行:
07-27 19:16