gpt4 book ai didi

用于发送图像的Android自定义键盘

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:28 25 4
gpt4 key购买 nike

我目前正在尝试实现一个自定义键盘,该键盘将图像(可能通过 Intent ?)发送到某个应用程序。更具体地说,我正在尝试在自定义键盘上创建一个键,该键会将图像发送到默认消息传递应用程序,以便它可以作为彩信发送。

为此,我修改了示例 SoftKeyboard 项目。这是我目前所拥有的:

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 自定义键盘,但我不确定启动一个新的 Activity 是否是最好的主意。有人有什么建议吗?

最佳答案

问题是 Activity 通常是从其他 Activity 开始的。 Android 添加此错误以确保开发人员仅自愿且有意识地更改此流程。

在发送 Intent 修复问题之前添加以下行:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

关于用于发送图像的Android自定义键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24873958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com