Articles of android 6.0 marshmallow

带有NetworkRequest的Android运行时执行程序

我在我的Android应用程序中运行命令行参数,如: ProcessBuilder pb = new ProcessBuilder(cmds); Process process = pb.start(); process.waitFor(); cmds是要运行的参数列表。 我的命令通过http连接探测远程URL。 我的设备已连接到无法访问互联网的WiFinetworking,但却托pipe了我想要探测的url。 我的设备也有一个蜂窝连接,可以访问互联网,但不是url。 我的设备运行Android 6.0棉花糖。 通常在棒棒糖或以上,Android的默认networking连接到互联网。 要访问没有互联网的WiFinetworking,你需要使用NetworkRequest ,例如: https : //stackoverflow.com/a/27958106/1847734 。 我怎么能通过一个获得的Network上述Process ,以便连接通过我的WiFinetworking,而不是我的蜂窝networking? 我是否需要使用ConnectivityManager#bindProcessToNetwork ? 如何join使用此方法设置networking的过程? 似乎没有select给这个过程。

Android 6.0.1无法以编程方式启用wifi热点

当我尝试从下面的代码启用wifi tethering时,会引发exception java.lang.reflect.Method.invoke java.lang.reflect.InvocationTargetException(Native Method)at com ….. ….未授予此权限:android.permission.WRITE_SETTINGS 但是,这在Android 6.0及以下版本中正常工作。 也试着给android.permission.WRITE_SETTINGS太。 在Android 6.1中访问wifiAP有任何限制吗? 跟随我附上我用来启用热点的代码示例。 WifiConfiguration netConfig = new WifiConfiguration(); netConfig.SSID = ssId; netConfig.preSharedKey = passkey; netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); try { boolean apstatus = (Boolean) method.invoke(wifiManager, netConfig, true); for (Method isWifiApEnabledmethod : wmMethods) { if (isWifiApEnabledmethod.getName().equals("isWifiApEnabled")) { while (!(Boolean) isWifiApEnabledmethod.invoke(wifiManager)) {} for (Method method1 : wmMethods) { […]

如何在程序设置中以编程方式打开应用程序权限窗口

我正在研究新的权限模型(Andorid 6.0 Marshmallow),我不知道有没有办法打开应用程序权限窗口编程? 不仅应用程序的细节 我设法打开第二个屏幕使用这样的事情 private void goToSettings() { Intent myAppSettings = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + getPackageName())); myAppSettings.addCategory(Intent.CATEGORY_DEFAULT); myAppSettings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(myAppSettings); } 但我不知道如何打开第二个。 您的帮助将不胜感激:)

检测打盹状态

是否有可能检测到设备进入打盹/待机状态? 在Android文档中,我无法find任何可能的广播接收器或侦听器,我可以启用或创build这些广播接收器或侦听器来接收这些转换的通知。

如何以编程方式在android6.0中获取SD_Cardpath

我试图通过使用下面给出的外部存储path来检查是否有外部存储设备 if (new File("/ext_card/").exists()) { specialPath = "/ext_card/"; } else if (new File("/mnt/sdcard/external_sd/").exists()) { specialPath = "/mnt/sdcard/external_sd/"; } else if (new File("/storage/extSdCard/").exists()) { specialPath = "/storage/extSdCard/"; } else if (new File("/mnt/extSdCard/").exists()) { specialPath = "/mnt/extSdCard/"; } else if (new File("/mnt/sdcard/external_sd/").exists()) { specialPath = "/mnt/sdcard/external_sd/"; } else if (new File("storage/sdcard1/").exists()) { specialPath = "storage/sdcard1/"; } 但在棉花糖我找不到这个path,并检查使用ES […]

在Android M中为EXTERNAL_STORAGE授予权限?

Android权限WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE触发Android M的新授予权限对话框吗?

如何访问Android 6.0棉花糖相机?

我是新来的Android 6.0编码请提供解决scheme对于以下代码: 当我提供像READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE运行时权限它显示一个exception java.lang.SecurityException:Permission Denial:starting Intent {act = android.media.action.IMAGE_CAPTURE flg = 0x3 cmp = com.motorola.camera / .Camera clip = {text / uri-list U:file:/// storage /comulated/0/Pictures/MyAppNew%20File%20Upload/IMG_20160401_110234.jpg}(还有额外的)}来自ProcessRecord {ed96564 26955:com.social.nocializer / u0a259}(pid = 26955,uid = 10259)。 permission.CAMERA MediaStore.ACTION_IMAGE_CAPTURE和MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE运行时权限不能正常工作… 注意: READ_EXTERNAL_STORAGE适用于打开图库

在更改权限设置后,从最近的任务重新打开时,onCreate()会被调用

问题标题可能听起来很复杂,但这是我的情况。 我有一个活动内的地图片段。 简单。 打开存储权限以允许显示地图,工作正常。 通过按Homebutton背景应用程序,然后closures存储权限,并从最近的任务,应用程序崩溃打开应用程序。 问题不在于调用主机Activity的onResume(),而是在主机Activity以及Map碎片的onCreateView()上调用onCreate()。 因此它抛出exception。 看起来应用程序进程在更改权限时被终止,从而重新创build了活动。 09-24 14:42:55.071: E/AndroidRuntime(12918): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 09-24 14:42:55.071: E/AndroidRuntime(12918): Caused by: java.lang.NullPointerException: Attempt to write to field 'int android.support.v4.app.Fragment.mNextAnim' on a null object reference 09-24 14:42:55.071: E/AndroidRuntime(12918): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:718) 09-24 14:42:55.071: E/AndroidRuntime(12918): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489) 09-24 14:42:55.071: E/AndroidRuntime(12918): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548) 从活动super.onStart()

OutOfMemory错误只在Android 6.0.1设备上

看来我的项目有这个奇怪的问题。 这一切工作正常,但由于我更新我的S6边缘到Android 6.0.1应用程序似乎崩溃后 ,第二次启动OutOfMemory错误。 该应用程序包含目录中的2000多个图像,我正在使用一个计时器来增加一个计数器,并将它们显示在一个imageView上。 当onFinish()/ onPause()/ onDestroy()被调用时,我正在销毁/取消所有的对象,如计时器,计数器和imageView设置为null。 这是我如何获取/打印图像到imageView int resID = getResources().getIdentifier("animation"+i , "drawable", getPackageName()); Drawable animationFrame = ContextCompat.getDrawable(this, resID); animationView.setImageDrawable(animationFrame); i++; 在初次启动时,一切都运行良好(即使我使用生成的APK安装应用程序)。 但是,当我从最小化的应用程序中删除应用程序,应用程序在2-3秒后崩溃。 我检查了分配的内存,第一次运行是正常的(高达12MB),而第二次分配的内存是255MB。 onDestroy()方法这包括所有我的variables初始化。 另外,不要如果事情,但我的variables被初始化为私人或没有访问variables @Override protected void onDestroy() { super.onDestroy(); pauseAnimation(); animationView.setImageDrawable(null); animationView = null; justAnimation = null; buttonSign = null; i = 0; media.stop(); media = null; deathRateEU = 0; […]

Android 6.0不正确地处理drawCircle方法

在我的应用程序中,我需要使用位图和drawCircle()方法绘制圆圈。 一切工作正常,正如它应该一直到Android 6.0。 它仍然绘制所有以前的版本,但在6.0上使用应用程序时绘制矩形。 但是, 如果我改变它被填充,它将在api 22和api 23中绘制一个圆圈。任何人都有同样的问题或任何想法,为什么发生这种情况? 这里是源代码和屏幕截图(在左侧的API 23上运行的应用程序,右侧的API 22)。 同一个应用程序在不同的api上 public final class Circle1View extends View { private float xCenter, yCenter; private Bitmap grid = null; public Circle1View (Context context) { super(context); init(); } private void init() { setLayerType(View.LAYER_TYPE_SOFTWARE, null); } @Override protected void onDraw(Canvas canvas) { int w = getWidth(); int h […]