标签: android-6.0-marshmallow

upg.apache.http导入在升级到Android M后停止工作

我最近更新了我的应用程序以使用最新的Android 6.0 SDK,但是当我这些导入停止工作时.

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;

import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
Run Code Online (Sandbox Code Playgroud)

我试图添加HttpCore和HttpClient gradle,但只有前四个导入才得到解决.

'org.apache.httpcomponents:httpcore:4.4.1'
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么解决这个问题?提前致谢!:)

import android apache-commons android-6.0-marshmallow

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

在Android M上通过wifi请求

我目前正在Android上开发应用程序,自Android 6.0更新以来出现问题:我无法通过我的专用网络请求!

例如:步骤1:连接到不提供互联网连接的wifi步骤2:在本地ip(例如:192.168.1.168)上发出请求(例如:POST请求)

在任何Android版本(6.0除外)上:我从本地Web服务器收到响应在android M上:无响应:我的请求遍历了移动数据。

当我关闭移动数据时,请求通过wifi传递,我得到了正确的答案。告诉我我是否错了,但显然我无法通过以编程方式关闭数据或通过api 23强制使用wifi来解决应用程序中的问题...

android httprequest android-volley android-6.0-marshmallow

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

GoogleAccountCredential.setSelectedAccountName(String)在没有"联系人"权限的Android 6.0上无效

我正在使用以下方法检索GoogleAccountCredential对象:

GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(
                context, Arrays.asList({ GmailScopes.MAIL_GOOGLE_COM }))
                .setBackOff(new ExponentialBackOff())
                .setSelectedAccountName(email)
Run Code Online (Sandbox Code Playgroud)

电子邮件是我在设备上使用的Gmail帐户.

如果我使用credential.getSelectedAccountName检索帐户名,则结果为null.

这仅在运行Android Marshmallow的设备上发生,并且仅在应用程序没有"联系人"权限时才会发生.只要我授予"联系人"权限,一切正常.

为什么GoogleAccountCredential.setSelectedAccountName(String)需要"联系"权限?这是一个错误还是一个功能?

android oauth-2.0 android-permissions google-oauth android-6.0-marshmallow

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

对于执行需要用户在Android 6.0 Marshmallow中禁止的权限的代码的未更新应用,会发生什么情况

我想知道新的Android 6.0 Marshmallow功能,它允许用户明确设置允许应用程序使用哪些权限.我的问题是这会如何影响使用权限集的现有应用程序.

例如,未更新的应用程序[Target-sdk-version <23]已显示使用相机的权限,但用户手动禁止它.当应用程序执行使用该权限的代码时会发生什么?它会崩溃吗?

我假设新应用程序在执行依赖于权限的代码之前必须检查它们是否具有权限 - 我的问题是关于更改以处理这些情况的应用程序.

android android-permissions android-6.0-marshmallow

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

当Min SDK为L时,在Android M上请求权限

我正在编写应该在Android L和M上运行的应用程序

您可能知道,对于Android M,需要在代码中询问写入\从外部存储(sdcard)读取的权限,如下所示:

if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)==
        PackageManager.PERMISSION_GRANTED)
    requestPermissions(new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0);
Run Code Online (Sandbox Code Playgroud)

但是,我遇到了一个问题,因为调用checkSelfPermission需要API级别23(而不是22,因为我需要Lollipop支持).

我试图添加,@TargetApi(Build.VERSION_CODES.MNC)但我面临另一个问题 -"Cannot resolved symbol MNC"

那么问题是,我如何编写代码来保存sdcard中的文件,Lollipop和Marshmallow?

编辑:项目结构设置:

编译Sdk版本:API 23:Android 5.X(MNC

Min Sdk版本:API 22:Android 5.1(Lollipop)

Target Sdk版本:API 23:Android 5.X(MNC)

谢谢

android android-5.1.1-lollipop android-6.0-marshmallow

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

Android:获取本地化的权限组名称

在marshmallow的运行时权限中,用户可以在权限请求中选择"永不再询问".在这种情况下,我们必须将用户重定向到应用设置,以便让他们启用应用的权限.此外,Android权限是基于组的,在我们将用户发送到设置之前显示应用程序所需的权限组的名称非常方便.

我见过android.Manifest中的字符串,如" android.permission-group.LOCATION ".是否可以通过编程方式获取权限组名称?

android android-manifest android-package-managers android-permissions android-6.0-marshmallow

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

Android Marshmallow - 如何知道"永不再问"再次检查

我想请求权限android.permission.ACCESS_COARSE_LOCATION获取塔位置.

但在请求该权限之前,我想知道用户是否通过选中"永不再询问"复选框来阻止它.

是否有正确的方法来了解"永不再问"权限?

=======================要求==========================

我想阻止用户在不授予位置访问权限的情况下进入屏幕.

所以我使用权限请求作为名为requestLocation()的函数,该函数在onResume()中调用.

里面的requestLocation()

- >检查是否允许

- >如果:已授予权限,则注册更新位置.

- > ELSE:未授权,用两个按钮显示授权许可对话

- >一个按钮执行代码"ActivityCompat.requestPermissions(..........);" 并显示内置弹出窗口以获得许可.

- >另一个按钮有助于退出应用程序.

当在onRequestPermissionsResult()中标记deny或grant时,将再次执行requestLocation().

但是,如果选中"Never again again"并单击deny,则无限循环将继续如下所示

onRequestPermissionsResult()=>

PERMISSION_DENIED =>

requestLocation()=>

权限未授予=>

ActivityCompat.requestPermissions(..........); =>

onRequestPermissionsResult()=> PERMISSION_DENIED => requestLocation()=>

权限未授予=>

ActivityCompat.requestPermissions(..........);

=> ...............

因此,如果我能够理解是否单击"再次显示",我可以通过在requestLocation()中检查它来退出循环.

android android-permissions android-6.0-marshmallow

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

我们需要在Android 6.0中的运行时获得哪些权限

我有一个可以在Android 5.0版本上正常运行的android代码。我的AndroidManifest.xml

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
Run Code Online (Sandbox Code Playgroud)

但是,我的使用Android 6.0(LG G5)的客户报告该应用程序无法正常运行。我没有LG G5来检查问题所在。我认为原因是权限从5.0更改为6.0。您能否看一下我的许可,并请我为Android 6.0进行一些改进/更正?还是我们有任何方法可以自动为Android 6.0添加权限。谢谢大家

android audio-recording android-permissions android-6.0-marshmallow

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

如何使用代码编程获取设备的IMEI/ESN号但是在android> 6中

我的Android版本是Marshmallow 6.0

如何以编程方式在android> 6中查找/获取imei编号.

注意:我在AndroidManifest.xml文件中添加了READ_PHONE_STATE权限.

<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
Run Code Online (Sandbox Code Playgroud)

并且在MainActivity中

TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String deviceid = manager.getDeviceId();

//Device Id is IMEI number

Log.d("msg", "Device id " + deviceid);
Run Code Online (Sandbox Code Playgroud)

android imei android-permissions android-6.0-marshmallow

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

片段或活动之间的交叉淡入淡出动画

我想在片段之间实现Crossfade动画(不淡出/淡入动画,因为它允许在动画之间简单地看到底层的Activity /片段)

Android开发人员有指南如何Crossfade观看" 交叉淡化两个视图 ",但我不知道如何在片段或活动之间实现Crossfade.

以某种方式制作自定义动画并覆盖onCreateAnimator函数或甚至可能?

android android-animation android-fragments android-6.0-marshmallow

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