当前位置: 首页 > 知识库问答 >
问题:

Android活动完成法秒杀应用

马业
2023-03-14

我正在尝试构建一个使用条形码阅读器的android应用程序。

    null

以上所有操作都按预期工作,但在onActivityResult事件处理之后,应用程序终止。

在日志文件中,我只能找到一个通用的app-kill消息

您可以在下面找到代码片段并注销。

b.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setClass(getBaseContext(), BarcodeScannerActivity.class);

        startActivityForResult(i, 100);
    }
});

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.i("BARCODE_RESULT", data.getStringExtra("displayValue"));
    super.onActivityResult(requestCode, resultCode, data);

    TextView t = (TextView) findViewById(R.id.textView);
    t.setText(data.getStringExtra("displayValue"));

    Log.i("BARCODE_RESULT", data.getStringExtra("displayValue"));
}
public void onScanned(final Barcode barcode) {
    Log.i("BARCODE", "Barcode scanned: " + barcode.displayValue);

    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            Toast.makeText(getBaseContext(), "Barcode: " + barcode.displayValue, Toast.LENGTH_LONG).show();

            Intent intent=new Intent();
            intent.putExtra("displayValue",barcode.displayValue);
            setResult(Activity.RESULT_OK, intent);

            finish();
        }
    });
}
/** I/BARCODE: Barcode scanned: 8005200010448
/** I/BARCODE_RESULT: 8005200010448
/** I/BARCODE_RESULT: 8005200010448
/** I/Process: Sending signal. PID: 10012 SIG: 9
W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.huawei.lcagent.client.LogCollectManager.getUserType()' on a null object reference
W/System.err:     at com.android.server.util.ReportTools.getUserType(ReportTools.java:86)
W/System.err:     at com.android.server.util.ReportTools.isBetaUser(ReportTools.java:73)
W/System.err:     at com.android.server.util.ReportTools.report(ReportTools.java:58)
W/System.err:     at com.android.server.util.HwUserBehaviourRecord.appExitRecordInnerImpl(HwUserBehaviourRecord.java:125)
W/System.err:     at com.android.server.util.HwUserBehaviourRecord.access$200(HwUserBehaviourRecord.java:32)
W/System.err:     at com.android.server.util.HwUserBehaviourRecord$AsyUploadLooperThread$1.handleMessage(HwUserBehaviourRecord.java:255)
W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err:     at android.os.Looper.loop(Looper.java:150)
W/System.err:     at com.android.server.util.HwUserBehaviourRecord$AsyUploadLooperThread.run(HwUserBehaviourRecord.java:267)

马蒂亚

共有1个答案

向俊贤
2023-03-14

尝试删除finish()方法上的runonuithread()。如果这是onscan()中的全部代码,我认为没有任何必要使用runonuithread()

public void onScanned(final Barcode barcode) {
    Log.i("BARCODE", "Barcode scanned: " + barcode.displayValue)
            Toast.makeText(getBaseContext(), "Barcode: " + barcode.displayValue, Toast.LENGTH_LONG).show();

            Intent intent=new Intent();
            intent.putExtra("displayValue",barcode.displayValue);
            setResult(Activity.RESULT_OK, intent);

            finish();
}

此外,在您的设备上检查是否在设置中授予了所有权限。

 类似资料:
  • 积分商城营销工具中的营销商品包的秒杀活动,在使用场景中有对接开发者需要通过接口查询对应的秒杀活动数据在自己页面中展示,针对此类场景,兑吧开放了秒杀活动前置查询接口。 接口查询数据内容是下图中的数据。 接口地址(GET 请求) https://activity.m.duiba.com.cn/chw/seckill/api/queryList 请求参数(get请求) 参数 是否必须 类型 说明 app

  • 本文向大家介绍iOS实现秒杀活动倒计时,包括了iOS实现秒杀活动倒计时的使用技巧和注意事项,需要的朋友参考一下 IOS关于大型网站抢购、距活动结束,剩余时间倒计时的实现代码,代码比较简单,大家根据需求适当的添加修改删除代码 1.定义4个 Label 来接收倒计时: 2.在实现文件中实现方法: 3.在需要出使用: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 错误:------崩溃开始 08-04 05:53:11.807 266 7-2667/com.example.kwei.minigame1 E/AndroidRuntime:致命异常:main process:com.example.kwei.minigame1,PID:2667 java.lang.nullpointerException:试图在com.example.kwei.minigam

  • 我有3个活动A、B和C。A导致B,B导致C。我希望能够在A和B之间来回移动,但我希望在C开始后完成A和B。我知道如何在通过意图启动C时关闭B,但在启动C时如何关闭A?

  • 我有一个有三个活动的应用程序。第一活动,第二活动,第三活动。 在第一个活动中有一个按钮,它启动第二个活动。在第二个活动中,有两种方法可以转到第三个活动。但是有一个方法有代码: 两个变体都使用此代码片段。 此代码在-12秒内自动运行 我的问题是:当用户按下Back键时,ThirdActivity会打开,但几秒钟后,ThirdActivity会从第一个变体再次打开。 那么,如何完全终止一个活动,使其在

  • 嗨,我想知道Android是如何管理内存的,我找不到确切的答案。假设我有一个应用程序在当前activity堆栈上有5个活动(4个停止,1个恢复),没有连接服务。我按HOME键,这样我的所有活动都停止了。我启动了一些其他内存消耗应用程序,而整个设备内存开始变低。问题是 …我的申请会发生什么? 系统是否只能破坏我的一个或部分活动以恢复内存? 系统会扼杀我的应用程序的整个过程吗?所有活动都会被很好地销毁