标签: android-6.0-marshmallow

Android M - 设备进入 Doze 模式时的套接字行为

我们正在开发一个基于 VOIP 的应用程序,其中我们必须保持与服务器的 TCP 连接。为了实现这一点,我们定期向服务器发送保持活动的数据包。我们想知道设备进入打盹模式时的套接字行为。当设备进入打盹模式时,套接字连接是否保持完整或关闭。

android android-6.0-marshmallow

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

是否可以在 Marshmallow 之前的 Android 版本中创建自定义浮动文本选择菜单?

我正在寻找为文本选择创建一个自定义菜单。我知道可以使用 setCustomSelectionActionModeCallback 编辑操作栏的行为,但在我的情况下,我根本不希望该操作栏显示,我想要自己已经实现的浮动自定义菜单。

唯一的问题是在 TextView 中选择文本后,无法不显示操作栏菜单。

我需要的行为不是标准的剪切/复制/粘贴,我实施的操作是用于突出显示文本的突出显示部分并将其保存到数据库中。

我做了一些修补,我能做的最好的事情是一个凌乱的反射想法,我在 onCreateActionMode 返回 false 并通过反射获得对文本选择句柄的引用。它成功了一半,而且效果很好,因为在这种情况下,任何形式的反射都是非常糟糕的做法。

我希望最后一个支持库在 6.0 中包含浮动文本菜单,虽然我可以在该菜单中实现我自己的自定义视图,但这是一厢情愿的想法。

如果有人有任何可能有用的想法或库,那么我全神贯注。

android textselection android-edittext android-actionmode android-6.0-marshmallow

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

编译 Google 下载库 targing API 23 Android Marshmallow

我正在使用 Google 的下载库进行扩展包下载,通过“Android SDK”管理器分发。使用 Eclipse/Ant 构建,因为还没有迁移到 AS/Gradle - 但任何解决方案都会有所帮助。

在 API 23 中,Apache HTTP 消失了。我已经实施了一种解决方法来编译 Google 的 LVL。(Lvl 库和 android 棉花糖

但是下载库要解决的问题要大得多,而且不确定我是否真的想修复 Google 的代码 - 如果需要,可能只是编写自己的代码。

有谁知道方便的“插入”(-ish)替换库或合适的解决方法?

~~

'com.google.android.vending.expansion.downloader.impl.AndroidHttpClient' 中不可用导入的编译错误

导入 org.apache.http.Header; 导入 org.apache.http.HttpEntity; 导入 org.apache.http.HttpEntityEnclosureRequest; 导入 org.apache.http.HttpException; 导入 org.apache.http.HttpHost; 导入 org.apache.http.HttpRequest; 导入 org.apache.http.HttpRequestInterceptor; 导入 org.apache.http.HttpResponse; 导入 org.apache.http.client.ClientProtocolException; 导入 org.apache.http.client.HttpClient; 导入 org.apache.http.client.ResponseHandler; 导入 org.apache.http.client.methods.HttpUriRequest; 导入 org.apache.http.client.params.HttpClientParams; 导入 org.apache.http.client.protocol.ClientContext; 导入 org.apache.http.conn.ClientConnectionManager; 导入 org.apache.http.conn.scheme.PlainSocketFactory; 导入 org.apache.http.conn.scheme.Scheme; 导入 org.apache.http.conn.scheme.SchemeRegistry; 导入 org.apache.http.conn.scheme.SocketFactory; 导入 org.apache.http.conn.ssl.SSLSocketFactory;导入 org.apache.http.entity.AbstractHttpEntity; 导入 org.apache.http.entity.ByteArrayEntity; 导入 org.apache.http.impl.client.DefaultHttpClient; 导入 org.apache.http.impl.client.RequestWrapper; 导入 …

android android-download-manager androidhttpclient android-6.0-marshmallow

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

预装和特权保护级别之间的区别

API 23 已将权限保护级别重命名systemprivileged. 它还引入了preinstalled保护级别。

是否privileged暗示preinstalled?换句话说,如果一个应用程序有权访问privileged权限(它是一个系统应用程序),它是否也有权访问preinstalled权限,即使这些权限没有列为privileged(仅preinstalled)?

android android-permissions android-6.0-marshmallow

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

应用程序需要空闲多长时间才能启动应用程序待机(Android Marshmallow)

我在互联网上四处寻找有关Android Marshmallow 中应用待机模式的详细信息,但我没有找到有关何时发生的任何特定数据,除了一些可能导致它发生的列出条件。我还看到一个模糊的“如果设备长时间闲置,系统允许闲置应用程序每天访问一次网络”,但没有具体说明此窗口将持续多长时间。

打盹模式似乎得到了很好的研究(这个要点特别有用并且与我的发现一致),但我还没有看到 App Standby 的运行情况。我创建了一个测试应用程序,它通过警报每 5 分钟向服务器发送一次数据并运行它一周,并且它继续每 5 分钟访问一次服务器,除非手机进入打盹模式并且只在维护期间访问服务器,然后回到每 5 分钟唤醒手机一次,因此即使我没有直接与应用程序交互,Android 似乎也没有将其置于“应用程序待机”状态。

是否有任何关于 App Standby 工作原理的具体数据?

android android-6.0-marshmallow android-doze-and-standby

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

棉花糖指纹扫描仪硬件存在

我期待着开始使用Marshmallow指纹认证API.我理解要求获得许可,我必须使用以下方法:

ContextCompat.checkSelfPermission(getContext(), Manifest.permission.USE_FINGERPRINT);
Run Code Online (Sandbox Code Playgroud)

我必须检查设备是否正在运行API级别23或更高级别.但在我要求许可之前,我想检查设备是否真的有一个指纹扫描仪开始.我找到了以下两种方法来检查:

FingerprintManager manager = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE);

manager.isHardwareDetected();

manager.hasEnrolledFingerprints();
Run Code Online (Sandbox Code Playgroud)

但是这两种方法都需要被USE_FINGERPRINT许可才能被调用.为什么我要求使用我甚至不知道存在的指纹扫描仪?有没有其他方法可以确定扫描仪是否存在?或者是首先要求许可的唯一方法?

android android-permissions android-6.0-marshmallow android-fingerprint-api

5
推荐指数
2
解决办法
4352
查看次数

如何清除所有应用程序在Android棉花糖中缓存的数据

我知道这个问题已经问了很多遍了,因为我阅读了所有答案,但没有一个给我完整的解决方案。如果Android 6+不允许清除所有应用程序缓存数据,那么Clean Master应用程序的工作方式。Android在Signature | Prvilege类别中添加了此权限,然后在访问权限中添加了此权限。请帮忙。

android caching clear android-6.0-marshmallow

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

如何选择一个应用程序,以允许在Marshmallow上以编程方式模拟位置?

在Marshmallow之前"允许模拟位置"选项可以通过编程方式更改(需要root)

Settings.Secure.putInt(getContentResolver(),Settings.Secure.ALLOW_MOCK_LOCATION, 1);
Run Code Online (Sandbox Code Playgroud)

但现在这个选项是特定于应用程序的,意味着您必须在开发人员选项中选择模拟器应用程序.

有没有办法以编程方式更改此设置(将我的应用程序插入允许列表)?

android android-settings android-6.0-marshmallow

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

请求权限对话框中断活动并按任意键即可关闭活动

我不知道为什么这只发生在一个应用程序,因为我在其他应用程序上尝试它工作正常.但只有这个应用程序,每当我请求权限时活动消隐,只有权限对话框出现,然后按"允许"或"拒绝"将关闭活动,我需要重新打开它.我怀疑这种行为是在主题或扩展类型的活动上发生的,如"AppCompactActivity"或"ActionBarActivity".

这是我的代码

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED&& ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
{
        ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION}, 1);
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults)
{
    switch (requestCode)
    {
        case 1:
            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
            {
                Log.e("Permission","Granted");
            }
            else
            {
                Log.e("Permission","Not Granted");
            }

            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是主题,但它唯一怀疑主题是原因

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowBackground">@color/primary_orange_lighter</item>
</style> …
Run Code Online (Sandbox Code Playgroud)

permissions android runtime android-6.0-marshmallow

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

Android调试失败"无法连接到logcat,GetProcessId返回:0"FFImageLoading.Platform.dll.so未找到

我有调试Android项目的问题.我可以部署到设备并运行它,一切正常但如果我尝试调试,应用程序部署到设备并且非常简短地打开,启动屏幕显示但应用程序然后关闭.

我在Visual Studio 2015上使用Xamarin Forms.

设备正在运行Android Oreo(8.0.0).运行Android 6.0.1的另一台设备正在调试.

输出显示如下:

InspectorDebugSession(11): StateChange: Start -> EntryPointBreakpointRegistered
InspectorDebugSession(11): Constructed
Android application is debugging.
InspectorDebugSession(11): HandleTargetEvent: TargetExited
InspectorDebugSession(11): Disposed
Couldn't connect to logcat, GetProcessId returned: 0
Run Code Online (Sandbox Code Playgroud)

我检查了Logcat,它似乎遇到了查找FFImageLoading库的问题:

Time    Device Name Type    PID Tag Message
09-18 14:35:52.361  Huawei Nexus 6P Debug   1560    Mono    AOT: 
image '/usr/local/lib/mono/aot-cache/arm/FFImageLoading.Platform.dll.so' 
not found: dlopen failed: library "/data/app/myapp.android.dev-
WEb1bz8edgF7vwx6uCoZ-A==/lib/arm/libaot-FFImageLoading.Platform.dll.so" not found
Run Code Online (Sandbox Code Playgroud)

我已经为我的项目添加了用于FFImageLoading的Nuget包,Droid项目引用如下图所示:

在此输入图像描述

xamarin.android xamarin.forms android-6.0-marshmallow ffimageloading android-8.0-oreo

5
推荐指数
3
解决办法
7245
查看次数