- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个渲染器以从 Xamarin.Forms 应用程序打开 native Android Activity 。在我的渲染器中,我有;
public class CaptureBarcodeRenderer : PageRenderer
{
private Activity _activity;
protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
{
base.OnElementChanged(e);
_activity = Context as Activity;
Intent intent = new Intent(_activity, typeof(CaptureBarcode));
_activity.StartActivityForResult(intent, 0);
//activity.StartActivity(intent);
}
}
我正在使用 xamarin-forms-samples 中的示例去做这个。从我正在启动的 Activity 中可以明显看出,我正在捕获条形码。不幸的是,我无法通知打开此 Activity 的页面已捕获条形码。如果我可以使用结果,我可以通知调用页面(因为我可以在这里访问它)我们已经进行了扫描,然后从那里调用 PopAsync()。
因为调用页面是一个 ContentPage,我无法将它作为数据的一部分传递给 Intent,因为它不可序列化。
问题当 OnActivityResult 存在于 Context 中并且我无法覆盖它的方法或订阅事件时,我该如何处理它。
我想打开结果的 Activity ,当我得到 Activity 结果时,我想关闭我已经启动的条形码 Activity 并将页面从导航堆栈中弹出。
有什么帮助吗?
最佳答案
我确实有这个工作,但我对它的工作方式并不十分满意。
在我的 MainActivity 类中,我创建了一个静态属性 (BarcodeView),代表表单端的页面。在我的自定义渲染器中,我将此变量设置为 e.NewProperty 值。
在我的 MainActivity 中我覆盖了 OnActivityResult
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if (resultCode == Result.Ok)
BarcodeView.DoScan(data.GetStringExtra("code"));
}
现在,当我扫描时,这个方法被命中。在 Scan Activity 中,我完成 () View ,然后当我得到我的 DoScan() 时,我弹出导航以摆脱自定义渲染器 View 。
关于android-intent - 无法从渲染器覆盖 OnActivityResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25228836/
哪个更好,为什么? 这个: @Override public void onActivityResult(int requestCode, int resultCode, Intent intent)
在我的 fragment 中,我已经启动了用于照片捕获的 startActivityforresult Intent 。我已经覆盖了 fragment 类中的 onActivityResult 回调方
我已经实现了 Facebook 集成,并且在初始化部分工作正常,即使 Facebook APPID 也适用于应用程序。 让我更详细地解释一下:我已在 onCreate() 中添加并初始化 Facebo
我有代码可以让我从计算器中获取值并进一步使用它: //-----------------This section creates the keypad functionality for (int o
我陷入了一种情况,根据我的应用程序图表流程描述如下: 假设我在 Activity A 上,在单击按钮时,我从图库中选择图像,选择后,我将移动到 Activity B(它在内部来自 onActivity
我有一项 Activity 要求启用蓝牙和发现模式。 请求被正确执行并被 onactivityresult() 接收. 问题出在发现请求中。 如果我点击拒绝,那么 RESULT_CANCELED正确获
所以我尝试显示相机拍摄的图像,并希望稍后通过套接字发送它,但我注意到 onActivityResult() 方法没有被调用,现在导致了进一步的问题。我使用 RESULT_OK,但检查其值,使其不是负值
我的 MainActivity.java 中有一个类用作接口(interface): public class prova{ prova(){ } @JavascriptIn
我尝试通过启动 Intent 来使用 startActivityForResult 从照片库中进行选择并覆盖 onActivityResult 来获取图像。我不知道为什么,但是当我选择图像并尝试将其绘
每当我完成“ViewEvent” Activity 时,在“HomeFragment”中调用 onActivityResult() 时遇到问题。ViewEvents Activity 从适配器启动。
我有一个选择图像的 Intent (我在 fragment 中调用它): Intent intent = new Intent(Intent.ACTION_GET_CONTENT); int
我有一个 RecyclerView,其中的项目包含一个使用 startActivityForResult 启动 Activity 的按钮。 onClick 方法是在适配器内部实现的,并且在从新 Act
我有以下代码,它应该使用服务记录设备屏幕。 问题是,要使用它,我需要使用如下调用:startActivityForResult/onActivityResult,以获得能够录制屏幕的权限。 但是在 A
我有三项 Activity ,A、B 和 C(代码如下)。 A 使用 startActivityforResult 调用 B,并覆盖 onActivityResult,B 也使用 Activityfo
我有一个 Activity 1,它向 Activity 2 发送 Intent ,如下所示: Activity 1 periodDatetv.setOnClickListener(new OnClic
我正在尝试将其与我的应用程序集成:Capture Image from Camera and Display in Activity 当我打开 Activity 时,我完全使用了作者所写的内容,但出现
我有一个 MainActivity,它有两个 TextView。用户可以选择启动另一个 Activity 并从 ListView 中选择数据来填充这些 TextView。我的主要 Activity 有
这个问题在这里已经有了答案: How to manage startActivityForResult on Android (14 个回答) 3年前关闭。 请写下答案 如何在按钮单击时调用 frag
我怎么知道这个主题有很好的记录,我已经阅读了很多关于那个问题的文章,但我仍然遇到以下问题:当我用我的应用拍照并点击“验证”按钮时,没有任何反应。我正在做的事情的目的是:传递给 onActivityRe
从第一个 Activity 我想去第二个,然后从第二个到第三个。在第三个activity中,我想在EditText中输入姓名,然后按下按钮后,转到第一个activity,同时发送在第三项 Ac
我是一名优秀的程序员,十分优秀!