小编dev*_*hik的帖子

WebView不会在Android 4.0.x Ice Cream Sandwich中的应用程序启动时呈现本地HTML页面

我知道在这个论坛上已经以不同的格式提出了这个问题,但是到目前为止,没有一个答案 - 我接受或其他方式帮助了我.

我正在开发一个混合应用程序,它使用原生的Android,HTML和Adboe的Flex SDK(没有任何框架,如PhoneGap等,使用Android自己的WebView直接代码).

这是我面临的问题:

当应用程序启动时,首先触发flex sdk 的活动"AppEntry",它是一个空白活动,它只是设置flex SDK的上下文和初始设置.接下来,启动本机MainActivity,它使用WebView加载HTML项目.在Android 4.0.x(ICS)上,即使加载了URL,webview也会显示为空白(白色)(对于相关URL,已成功调用onPageFinished()).这是在第一次安装和启动应用程序时发生的,在停止应用程序后(通过从最近的应用程序栏中删除它),页面按预期加载.像这样重复重新启动有时会重现问题但频率不可预测.

有些事情需要考虑:

  1. 由于flex sdk约束,这些HTML文件不能直接存储在'/ assets'文件夹中,而是存储在assets文件夹中的目录结构中.

  2. 问题只发生在冰淇淋三明治上(我想知道的问题)!

我已经尝试过的东西:

  1. 硬件加速关闭(开/关无关紧要,两者都测试)

2.

WebSettings settings = webView.getSettings();        
        settings.setJavaScriptEnabled(true);
        settings.setUseWideViewPort(true);
        settings.setLoadWithOverviewMode(true);
        settings.setSupportMultipleWindows(true);
        settings.setJavaScriptCanOpenWindowsAutomatically(true);
        settings.setLoadsImagesAutomatically(true);
        settings.setDomStorageEnabled(true);
        settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
        settings.setSaveFormData(true);
        settings.setAllowFileAccess(true);
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){
            settings.setAllowContentAccess(true);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                settings.setAllowFileAccessFromFileURLs(true);
                settings.setAllowUniversalAccessFromFileURLs(true);
            }
        }
        settings.setAppCacheEnabled(true);
        settings.setJavaScriptCanOpenWindowsAutomatically(true);
        settings.setLoadsImagesAutomatically(true);
        boolean enableZoom = true;
        settings.setBuiltInZoomControls(enableZoom);
        settings.setSupportZoom(enableZoom);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR_MR1) {
            initializePluginAPI(webView);
        }
        settings.setDatabaseEnabled(true);
Run Code Online (Sandbox Code Playgroud)

问题是在Play商店中删除我的应用评论评论.任何帮助或见解将不胜感激.

apache-flex android webview android-webview android-4.0-ice-cream-sandwich

34
推荐指数
1
解决办法
1200
查看次数

iOS 11(Beta)中的webKit是否支持WebRTC?

我有一个在iOS11(Beta)上使用Safari工作正常的网址音频/视频工作正常.但是当我用WKWebView加载这个URL时,它给我一个错误"不兼容的浏览器",当我在WebKit中检查我的浏览器版本时,它显示"iOS 11上的基于WebKit的浏览器"

所以真正的问题是,Apple是否已将此更改包含在iOS 11开发人员BETA的WKWebview webkit(应该与Safari相同)中?

safari webkit ios webrtc wkwebview

16
推荐指数
3
解决办法
9064
查看次数

com.facebook.FacebookActivity的ClassNotFoundException

我想将Facebook的Android SDK(v4.11)集成到我的Android应用程序中,由于flex-sdk依赖性,我的最终apk是通过Flash Builder编译的.

不幸的是,当我的应用程序试图创建初始化Facebook的相关活动时,我在堆栈跟踪中得到了一个ClassNotFoundExceptionfor com.facebook.FacebookActivity.

我在我的Android源代码和依赖项的Native Extension中包含了classes.jar.在使用Android SDK构建工具中的dexdump通过以下命令反编译最终.apk中的classes.dex文件:

./dexdump classes.dex | grep 'Class descriptor'
Run Code Online (Sandbox Code Playgroud)

我能够看到

Class descriptor  : 'Lcom/facebook/FacebookActivity;'
Run Code Online (Sandbox Code Playgroud)

这表明FacebookActivity.class 在.apk中打包和编译.

我还将所有Facebook-sdk资源和我的项目资源捆绑在我的原生扩展中的res文件夹中(这是我第一次在本机扩展中包含我自己的第三方资源).

我的onCreate()代码初始化了Facebook-SDK:

FacebookSdk.sdkInitialize(getApplicationContext()); //throws the ClassNotFoundException
 AppEventsLogger.activateApp(this);
Run Code Online (Sandbox Code Playgroud)

AndroidManisfest.xml根据Facebook文档我的条目:

<meta-data android:name="com.facebook.sdk.ApplicationId"
                   android:value="@string/facebook_app_id"/>
    <activity android:name="com.facebook.FacebookActivity"
                  android:configChanges=
                      "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
                  android:theme="@android:style/Theme.Translucent.NoTitleBar"
                  android:label="@string/app_name" />
    <activity
            android:name="com.facebook.CustomTabActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="@string/fb_login_protocol_scheme" />
            </intent-filter>
        </activity>
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

编辑:

我现在使用版本4.12,结果没有变化.

另外,这是我的build.gradle条目:(虽然这不会影响flex包装,因为我必须在facebook sdk JAR上使用ziptree).

dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile "com.android.support:support-v4:23.0.+"
        compile …
Run Code Online (Sandbox Code Playgroud)

apache-flex android facebook facebook-android-sdk

11
推荐指数
1
解决办法
1846
查看次数

使用本机短信应用程序发送短信而不启动自己

我想发送短信,但不使用SmsManager类.我想用Android手机上的原生短信应用程序来做.

这就是扭曲:我不想在这样做时启动本机应用程序.是否有一些意图格式可以通过本机应用程序直接发送短信(给定sms-body和发送给它的电话号码)(用户不必点击'发送').

我用谷歌搜索相同,但所有结果和响应只是启动本机短信,等待用户手动发送短信.我已经看到这在一些应用程序中实现,如'MightyText',并希望在我的应用程序中实现.

请帮忙 !

sms android android-intent

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