【问题标题】:Get Back Result from Android native Calculator从 Android 原生计算器获取结果
【发布时间】:2012-05-14 06:09:20
【问题描述】:

我正在从我的应用程序调用 android 本机计算器,我如何从中获取结果数据.. 意味着我像这样启动本机日历,完成计算后我按回 onActivityResult 被执行并且返回的数据为空,如何获取计算出来的数据..帮帮我

Intent i = new Intent();
i.setClassName("com.android.calculator2",
            "com.android.calculator2.Calculator");
startActivityForResult(i, 1); 

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data); 
if(requestCode == 1){
    Log.i("CALCULATOR", "Result Data is"+ data);
 }       
}

【问题讨论】:

    标签: android calculator


    【解决方案1】:

    经过一些测试后,我开始认为您无法从计算器中真正得到回报。用startActivityForResult 调用某些东西并不意味着它会返回null 以外的东西,因为除了按返回键之外没有其他方法可以退出计算器,我认为这是其中一种情况。

    本机计算器似乎没有调用setResult(RESULT_SUCESS,intent_with_data),这是检索此结果所需的步骤。我能想到的最简单的事情是,因为您想要进行一些计算,所以实现您自己的计算器类并调用该类而不是本机类。

    计算器很容易制作,网上有无数的例子。只需确保您有一个 OK 按钮,在您为结果添加额外内容后调用 setResult(RESULT_SUCESS, intent_with_data)

    警告

    请注意,您是在硬编码类名,而不是通过指定操作和 URI 来调用意图。这可能会调用模拟器和标准版本的 Android 上的原始计算器,但制造商会更改这些类型的东西,并且由于没有人应该按照您的意图调用它们,您最终可能会导致应用程序崩溃。

    【讨论】:

    • 是的,当我按下返回时,我退出了本地计算器活动,但我在任何地方都没有得到计算结果..
    • 你说得对,我也是这么想的,有没有办法修改原生计算器代码...
    • 谢谢你,我会花更多时间从原生本身获取结果。如果它不起作用,我会编写我自己的计算器活动
    • 我也在研究它,但肯定不是你使用的意图,也许是其他的。
    • 使用“本机计算器”是不可行的,帮自己一个忙,选择自定义计算器方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2022-11-16
    • 1970-01-01
    • 2018-04-25
    • 2013-09-29
    • 1970-01-01
    • 2017-08-18
    相关资源
    最近更新 更多