Articles of android 6.0 marshmallow

无法打开avd_name.avd / cache.img

当我运行模拟器时,我收到以下错误: 无法在模拟器中启动AVD。 输出:启用Hax qemu-system-x86_64.exe:-drive if = none,index = 1,id = cache,file = {path_to_SDK} \ SDK.android \ avd {AVD_name} .avd / cache.img:不能打开磁盘映像{path_to_SDK} \ SDK.android \ avd {AVD_name} .avd / cache.img: 无法打开'{path_to_SDK} \ SDK.android \ avd {AVD_name} .avd / cache.img’: 无效的论点 Hax ram_size 0x40000000 HAX正在运行,模拟器以快速virt模式运行。 接受连接时出错,正在中止 AVD规格如下: 操作系统:Android 6.0 Google API 内存:1GB 决议:1440×2560 在Android Studio 2.0 Beta […]

由于棉花糖使用BluetoothAdapter.getDefaultAdapter()更新蓝牙发现.startDiscovery(); 被打破

我有一个使用蓝牙和连接到设备的应用程序,无法使用BluetoothAdapter.getDefaultAdapter()find任何设备.startDiscovery(); 它在发现之前就运行良好。 尝试过其他应用程序,它也不适用于其他应用程序。 但我尝试配对的设备(Arduino bt-module)可以在Android设置中find。 知道我能尝试什么吗? 我实现了http://developer.android.com/guide/topics/connectivity/bluetooth.html上描述的所有内容,它在更新之前有效。

Android 6(M)权限问题(创建目录不起作用)

我有这个代码用于创建保存图片的目录: File storageDir = null; if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { storageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), “myphoto”); if (!storageDir.mkdirs()) { if (!storageDir.exists()){ Log.d(“photo”, “failed to create directory”); return null; } } } return storageDir; storeDir在android 6下面返回”/storage/emulated/0/Pictures/myphoto/” ,在android 6上它返回null 。 我有权限 buildToolVersion 23 targetSdkVersion 23 怎么修?

在android 6.0.1中,检索相机照片不起作用

1-一些同事(使用android工作室的Android开发人员)在我的手机上测试他的应用程序时遇到了问题(这是与android 6.0.1的关系),他面临的问题是当他拿一个来自画廊的图像可以和他合作,但是当从相机拍摄照片时它没有显示,他怀疑他保存在手机上的图像没有得到保存,他怀疑这是一个许可问题,对他来说它有效在星系上而不是在nexus上。 2-同样的事情发生在我的团结中我买了一个以前在我的手机上工作正常的插件(当我拿相机照片时),现在我更新后它不再拍摄图片了,我的意思是我走了相机并返回应用程序,而不像以前那样加载到视图中。 这是logcat显示的内容 ——— beginning of main 02-07 16:36:10.272 203-813/? D/audio_hw_primary﹕ out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2 02-07 16:36:10.282 203-813/? D/audio_hw_primary﹕ select_devices: out_snd_device(2: speaker) in_snd_device(0: none) 02-07 16:36:10.282 203-813/? D/msm8974_platform﹕ platform_send_audio_calibration: sending audio calibration for snd_device(2) acdb_id(15) 02-07 16:36:10.282 203-813/? D/audio_hw_primary﹕ enable_snd_device: snd_device(2: speaker) 02-07 16:36:10.284 203-813/? D/audio_hw_primary﹕ enable_audio_route: apply and update mixer path: […]

为什么`hasEnrolledFingerprints`给出错误,它只需要我的片段中的权限,而不是Google的示例中的活动?

我正在尝试在我的应用程序中实现Google的指纹API(特别是在我的Fragment中)。 谷歌已经举了一个例子,但它是在一个活动中实现的。 我的具体问题是下面的代码检查是否已经注册了指纹,它给了我一个错误(截图如下): 问题 – >我需要做些什么改变才能使它在我的片段中工作(而不是谷歌这样的活动)? if (!mFingerprintManager.hasEnrolledFingerprints()) { purchaseButton.setEnabled(false); // This happens when no fingerprints are registered. Toast.makeText(getActivity(), “Go to ‘Settings -> Security -> Fingerprint’ and register at least one fingerprint”, Toast.LENGTH_LONG).show(); return; }

应用程序仅在发布版本中崩溃

在调试模式下运行应用程序时,应用程序无法崩溃。 但是当生成.apk文件时释放应用程序崩溃。 所有手机上都没有出现此错误 ,只有少数拥有android 6的手机 。 logcat显示问题是类中的NullPointerException ( android.support.v4.widget.drawerlayout )。 NullPointerException如何仅在发布apk上启动? 我们已经禁用了proguard,minify和shrinkResources。 没有解决这个bug。 这里有一些日志: Attempt to invoke virtual method ‘int android.view.WindowInsets.getSystemWindowInsetLeft()’ on a null object reference at android.support.v4.widget.ia(Unknown Source) at android.support.v4.widget.DrawerLayout$da(Unknown Source) at android.support.v4.widget.DrawerLayout.onMeasure(Unknown Source) at android.view.View.measure(View.java:18799) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.support.v7.widget.ContentFrameLayout.onMeasure(Unknown Source) at android.view.View.measure(View.java:18799) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)

在android marshmallow 6.0中无法接听来电

我正在创建一个调用应用程序。 这是在Android 4.0和5.0上运行的自动答案; 而当我有一个来电应答呼叫按钮工作,但它不适用于Android 6.0。 我测试了这篇文章的答案,但它也不起作用: 在Android 6.0中回答来电 IncomingActivity: @Override public void onClick(View v) { switch (v.getId()) { case R.id.imgaccept: { if (Build.VERSION.SDK_INT >= 21) { new Thread(new Runnable() { @Override public void run() { try { Runtime.getRuntime().exec( “input keyevent ” + KeyEvent.KEYCODE_HEADSETHOOK ); Intent intent = new Intent(getApplicationContext(), OutGoing.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); […]

如何发送高优先级GCM?

我正在使用带有Android M Preview的Nexus 5。 我试图解决的问题是: 除非您的应用收到高优先级的Google云消息传递,否则会禁用网络访问权限。 我在做的是: 我将手机置于打盹模式,然后我发送优先级为10的推送通知,我希望能在短时间内访问互联网,但这不起作用。 我应该使用其他types的通知吗? 有没有可用的文件? 谢谢。 Android M更改: https : //developer.android.com/preview/behavior-changes.html 我发现了有关GCM优先级消息的信息: https : //developers.google.com/cloud-messaging/server-ref

使用NetworkStatsManager获取移动数据使用历史记录

我想知道数据使用历史,并注意到“新”android-6 NetworkStatsManager似乎是积极的(我已经使用了TrafficStats一段时间,但不会涵盖任何重启之前的任何事情)。 从API文档: 注意:此API需要权限PACKAGE_USAGE_STATS,这是系统级权限,不会授予第三方应用程序。 但是,声明权限意味着使用API​​的意图,并且设备的用户可以通过“设置”应用程序授予权限。 配置文件所有者应用程序自动被授予查询其管理的配置文件上的数据的权限(即,除querySummaryForDevice(int,String,long,long)之外的任何查询)。 设备所有者应用程序同样可以访问主要用户的使用数据。 我想知道聚合级别的数据使用情况,而不是使用数据的应用程序,所以我试着像这样使用它: NetworkStatsManager service = context.getSystemService(NetworkStatsManager.class); NetworkStats.Bucket bucket = service.querySummaryForDevice(ConnectivityManager.TYPE_MOBILE, null, from, to); … 不幸的是,抛出SecurityException : java.lang.SecurityException: NetworkStats: Neither user 10174 nor current process has android.permission.READ_NETWORK_USAGE_HISTORY. at android.os.Parcel.readException(Parcel.java:1620) at android.os.Parcel.readException(Parcel.java:1573) at android.net.INetworkStatsSession$Stub$Proxy.getDeviceSummaryForNetwork(INetworkStatsSession.java:259) at android.app.usage.NetworkStats.getDeviceSummaryForNetwork(NetworkStats.java:316) at android.app.usage.NetworkStatsManager.querySummaryForDevice(NetworkStatsManager.java:100) … 第三方应用程序不允许使用android.permission.READ_NETWORK_USAGE_HISTORY权限。 所以这似乎是一个死胡同。 但是,我深入研究了内部结构,发现您可以使用内部/隐藏API执行相同的操作而无需请求任何权限: INetworkStatsService service = INetworkStatsService.Stub.asInterface( ServiceManager.getService(Context.NETWORK_STATS_SERVICE)); INetworkStatsSession session = service.openSession(); […]

非活动中的Android M onRequestPermissionsResult

我有一个应用程序,需要find用户位置 ,并在各个类中提取位置,所以我写了一个单独的类(非活动类),使用位置服务获取用户位置,它在Android M下工作正常,但需要运行Android M中的时间权限,我想检查我的Location类中的权限,我知道如何检查它们但我不能在我的Location类中使用onRequestPermissionsResult方法,因为我的Location类不会从任何活​​动扩展。 那么我应该做些什么呢? 任何帮助/线索表示感谢提前谢谢