masastack / MASA.Blazor

Blazor UI component library based on Material Design. Support Blazor Server, Blazor WebAssembly and MAUI Blazor.
https://docs.masastack.com/blazor/getting-started/installation
MIT License
1.12k stars 151 forks source link

I hope Masa can provide the search bar component which can intergrate scanning event. #1287

Closed grantcy closed 1 year ago

grantcy commented 1 year ago

I hope Masa can provide the search bar component which can intergrate scanning event.

The optional scanning event which can be support description as follows:

  1. WeChat QR code scanning
  2. Local camera (decoded through third-party libraries)
  3. PDA Scan Broadcast (by Android)

PDA Scan Code Broadcast Example Code:

//定义事件 public class ScannerReceiver { public static ScannerReceiver scannerReceiver { get; set; } public Action OnScanReceive { get; set; } }

//注册广播 namespace xxx.Platforms.Android { [BroadcastReceiver(Enabled = true)] [IntentFilter(new[] { "com.android.server.scannerservice.broadcast" })] public class ScannerBroadcastReceiver : BroadcastReceiver { public override void OnReceive(Context context, Intent intent) { if(intent.Action.Equals("com.android.server.scannerservice.broadcast")) scannerReceiver.OnScanReceive(intent.GetStringExtra("scannerdata")); } } }

//活动页面实现 public class MainActivity : MauiAppCompatActivity {

    ScannerBroadcastReceiver receiver;

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        receiver = new ScannerBroadcastReceiver();
    }

    protected override void OnResume()
    {
        base.OnResume();
        RegisterReceiver(receiver, new IntentFilter("com.android.server.scannerservice.broadcast"));
    }

    protected override void OnPause()
    {
        UnregisterReceiver(receiver);
        base.OnPause();
    }
}
capdiem commented 1 year ago

@grantcy MAUI涉及底层功能不是我们主要研发的方向,目前只是有一些业务上的实践分享出来。 @sunday866 请评估一下。

sunday866 commented 1 year ago

可以更详细的说一下吗,Android pda的那种激光扫码是可以支持的,摄像头的扫码也是可以支持

grantcy commented 1 year ago

做一个搜索组件 内容输入方式 支持扫描录入 可选使用 摄像头、微信扫码、PDA扫码

grantcy commented 1 year ago

具体 扫码的实现我们自己写代码 能绑定到搜索组件 有按钮或事件交互即可

capdiem commented 1 year ago

@grantcy 那不难呀,你结合Toolbar组件和TextField组件就能做到,可选扫描如果是移动端,可以用BottomSheet组件里面套个List来渲染哪种扫描。

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 4 days with no activity.

github-actions[bot] commented 1 year ago

This issue is closed because it has been open for 3 days with stale.