小编Sha*_*hmi的帖子

如何在JavaScriptCore中向WebWorker的上下文添加新的本机类?

我有一个应用程序,它通过JavaScriptCore在webkit-gtk浏览器中扩展JavaScript.现在我有几个类,我添加到全局上下文,如下所示:

void create_js(gpointer context, char* className, JSClassDefinition clasDefinition) {
    JSClassRef classDef = JSClassCreate(&clasDefinition);
    JSObjectRef classObj = JSObjectMake(context, classDef, context);
    JSObjectRef globalObj = JSContextGetGlobalObject(context);
    JSStringRef str = JSStringCreateWithUTF8CString(className);
    JSObjectSetProperty(context, globalObj, str, classObj, kJSPropertyAttributeNone, NULL);
    JSStringRelease(str);
}
Run Code Online (Sandbox Code Playgroud)

现在,我还想将这些类添加到WebWorker的上下文中,因此我可以从JS中实例化的worker中调用它们.

我试过Worker这样的对象:

JSStringRef workerStr = JSStringCreateWithUTF8CString("Worker");
JSObjectRef worker = JSObjectGetProperty(context, globalObj, workerStr, NULL);
JSObjectSetProperty(context, worker, str, classObj, kJSPropertyAttributeNone, NULL);
JSStringRelease(workerStr);
Run Code Online (Sandbox Code Playgroud)

但是这会将它添加到WorkerConstructor对象中,并且当new Worker()调用a时,这些类不可用.

javascript customization webkit web-worker javascriptcore

101
推荐指数
1
解决办法
1817
查看次数

使用坐标裁剪图像

我正在尝试裁剪图像并将裁剪的数据发送到服务器端.我正在使用imgareaselect插件.我得到了选择的坐标,但无法裁剪图像.互联网上提供的所有解决方案都是使用css预览裁剪的图像.但是我怎样才能获得裁剪数据?无需预览裁剪后的图像.我的代码是

cropw = $('#cropimg').imgAreaSelect({
             maxWidth: 300, maxHeight: 300,
            aspectRatio: '1:1',
            instance: true,
            handles: true,
            onSelectEnd: function (img, selection) {                
            x1 = selection.x1;
            y1 = selection.y1;
            x2 = selection.x2;
            y2 = selection.y2;
    }
});
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

9
推荐指数
1
解决办法
2万
查看次数

Facebook推迟了深度链接在Android中不起作用

当用户从Playstore安装应用程序时,我已经实现了Facebook延迟深层链接以获取广告系列信息

AppLinkData.fetchDeferredAppLinkData(this,
            new AppLinkData.CompletionHandler() {
                @Override
                public void onDeferredAppLinkDataFetched(AppLinkData appLinkData) {
                    // Process app link data
                    if (appLinkData != null) {
                        readCampaignInfoFromFacebook(appLinkData.getTargetUri(), true);
                    } else {
                        Uri targetUrl = AppLinks.getTargetUrlFromInboundIntent(activity, getIntent());
                        if (targetUrl != null)
                            readCampaignInfoFromFacebook(targetUrl, false);
                    }
                }
            }
    );
Run Code Online (Sandbox Code Playgroud)

但是iam始终将applinkData null,是否已在最新的facebook sdk中解决了此问题,还是仍然存在,因为iam找不到任何解决方案,因此尝试了facebook文档中的所有功能。

android deep-linking deferred

6
推荐指数
0
解决办法
387
查看次数

当listview中存在listview时,如何在activity(actionbar)中实现searchview

我正在开发一个应用程序,其中searchview位于主要活动的操作栏中.在主要活动中有3个片段.每个片段都有一个列表视图.问题是,当在activity的操作栏中实现searchview时,如何对片段的列表项进行排序.

我正在使用简单的游标适配器和listview,其中有自定义行,其中有textview和imageview.

在此输入图像描述

这是活动中的searchview代码

SearchManager SManager =  (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    MenuItem searchMenuItem = menu.findItem(R.id.action_search);
    android.support.v7.widget.SearchView searchViewAction = (android.support.v7.widget.SearchView) MenuItemCompat.getActionView(searchMenuItem);
    searchViewAction.setSearchableInfo(SManager.getSearchableInfo(getComponentName()));

    searchViewAction.setIconifiedByDefault(true);

            android.support.v7.widget.SearchView.OnQueryTextListener textChangeListener = new android.support.v7.widget.SearchView.OnQueryTextListener()
    {
        @Override
        public boolean onQueryTextChange(String newText)
        {
            // this is your adapter that will be filtered
            adapter.getFilter().filter(newText);
            System.out.println("on text chnge text: "+newText);
            return true;
        }
        @Override
        public boolean onQueryTextSubmit(String query)
        {
            // this is your adapter that will be filtered
            adapter.getFilter().filter(query);
            System.out.println("on query submit: "+query);
            return true;
        }
    };
    searchViewAction.setOnQueryTextListener(textChangeListener); 
Run Code Online (Sandbox Code Playgroud)

而片段的代码是

Cursor mCursor = getContacts();
getActivity().startManagingCursor(mCursor); …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-fragments

5
推荐指数
1
解决办法
2693
查看次数

API 29 中不推荐使用 ConnectivityManager.getActiveNetworkInfo() / NetworkInfo。有什么替代方法?

似乎整个 NetworkInfo在 API 29 上都被弃用了。

所以我正在寻找一种替代方法来检查网络是否已连接。例如替代

connectivityManager.activeNetworkInfo?.isConnected == true
Run Code Online (Sandbox Code Playgroud)

旁注:我知道现在有一个回调,但我想同步获取此信息。另外,当然我知道它可能不是一个精确的信息,尽管我想拥有它。

android android-connectivitymanager

5
推荐指数
1
解决办法
4691
查看次数

如何在后台使用 Flutter Method Channel(应用最小化/关闭)

我正在 Flutter 应用程序中开发本机 Android 小部件。其中有刷新按钮,点击后我必须在 Flutter 代码中调用一个方法。我正在使用 Flutter Method Channel 进行通信,并且当应用程序处于前台时它工作正常。但是当应用程序最小化或关闭时它不起作用。我收到错误PlatformException(NO_ACTIVITY, null, null)。下面是我的代码。

安卓(AppWidgetProvider)

if (methodChannel == null && context != null) {
        FlutterMain.startInitialization(context)
        FlutterMain.ensureInitializationComplete(context, arrayOf())

        // Instantiate a FlutterEngine.
        val engine = FlutterEngine(context.applicationContext)

        // Define a DartEntrypoint
        val entrypoint: DartEntrypoint = DartEntrypoint.createDefault()

        // Execute the DartEntrypoint within the FlutterEngine.
        engine.dartExecutor.executeDartEntrypoint(entrypoint)

        // Register Plugins when in background. When there
        // is already an engine running, this will be ignored (although there will be some
        // warnings in the …
Run Code Online (Sandbox Code Playgroud)

android dart flutter flutter-plugin flutter-method-channel

5
推荐指数
1
解决办法
3485
查看次数

如何在android(Java)中设置lottiefiles动画的循环数?

我在使用 Lottie 文件作为动画时遇到问题,我无法设置循环数,而加载后它正在连续循环,但我想设置固定的循环数。

活动 XML

 <com.airbnb.lottie.LottieAnimationView
        android:layout_centerInParent="true"
        android:id="@+id/animation_view_1"
        android:layout_width="150dp"
        android:layout_height="150dp"
        app:lottie_autoPlay="true"
        app:lottie_loop="true" />
Run Code Online (Sandbox Code Playgroud)

活动Java

animationView.setVisibility(View.VISIBLE);
        animationView.setAnimation(fileName);
        animationView.loop(true);
        animationView.playAnimation();
Run Code Online (Sandbox Code Playgroud)

java animation android lottie-android lottie

4
推荐指数
2
解决办法
6382
查看次数

AndroidX 迁移后应用程序崩溃(数据绑定错误)

我正在尝试将一个已有 3 年历史的项目迁移到 AndroidX。该项目有3个模块。

  • 应用程序
  • 软件开发工具包
  • 蜜蜂

app是主要模块。该项目在运行时构建sdkapis模块的AAR 文件。并且该应用程序使用sdkapis

我为迁移所做的更改是:

  1. 更新了 app.gradle 和 gradlewrapper 属性的目标版本
  2. 迁移到 AndroidX
  3. 更新了所有模块的所有依赖项。

当应用程序启动时,它会从应用程序模块启动一个工作正常的活动。紧接着它从sdk模块启动一个活动。但是这里应用程序在 DataBindingUtil.setContentView 处崩溃。所有 3 个模块都启用了数据绑定。下面是堆栈跟踪。

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/android/databinding/library/baseAdapters/DataBinderMapperImpl;
    at com.xyz.sdk.DataBinderMapperImpl.collectDependencies(DataBinderMapperImpl.java:274)
    at androidx.databinding.MergedDataBinderMapper.addMapper(MergedDataBinderMapper.java:58)
    at androidx.databinding.MergedDataBinderMapper.addMapper(MergedDataBinderMapper.java:60)
    at androidx.databinding.DataBinderMapperImpl.<init>(DataBinderMapperImpl.java:5)
    at androidx.databinding.DataBindingUtil.<clinit>(DataBindingUtil.java:32)
    at androidx.databinding.DataBindingUtil.setContentView(DataBindingUtil.java:284)
    at com.xyz.sdk.landing.LandingPageActivity.onCreate(LandingPageActivity.java:51)
    at android.app.Activity.performCreate(Activity.java:7136)
    at android.app.Activity.performCreate(Activity.java:7127)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6669) …
Run Code Online (Sandbox Code Playgroud)

android gradle android-databinding androidx

4
推荐指数
1
解决办法
1784
查看次数

由于没有引用,KeyPress方法不起作用

我的代码中有几个KeyPress方法.由于没有参考,所有人都在工作.我检查了项目是否存在命名错误.但没有任何错误.我该如何为这种方法提供参考.

在此输入图像描述

btnback_KeyPress无效.

c# visual-studio-2013

0
推荐指数
1
解决办法
139
查看次数

如何创建此哈希图?

基本上我想做的是打印一个包含键的哈希表,这些键是字符串中的字符,并且这些键的值为1。例如,字符串“ aabbce”应提供字典{:a 1:b 1:c 1 }。以下是我的尝试,但只显示空的哈希图

(defn isValid [s]
    (def dict {})

    (map (fn [x] ((assoc dict :x 1))) (seq s))

    (println dict)

)

Run Code Online (Sandbox Code Playgroud)

clojure hashmap

0
推荐指数
1
解决办法
97
查看次数