Articles of android 6.0 棉花糖

Android棉花糖 – 权限状态改变

Android Marshmallow中的权限状态更改检测有任何方法吗? 我还没有看到广播…

Android的棉花糖callback时,用户撤销设置的权限?

如果用户在授予权限后撤销设置的权限,是否有办法获得回叫? 我知道我们必须在尝试使用相机之前检查权限等。 考虑以下情况,我有一个video处理应用程序需要读取和写入存储的权限。 处理的任务通常是几秒钟。 假设用户在提问时给予权限,并在处理开始后撤消权限。 在这种情况下,我们可以得到callback,而不是每次都检查吗? 只是为了我们可以优雅地处理错误情况。

弃用AudioManger.setStreamMute的替代方法?

AudioManger.setStreamMute现在已经被api 23弃用了,最好使用AudioManager.adjustStreamVolume和AudioManager.ADJUST_MUTE. 我的问题是,这种标志只支持api 23,而我的应用程序是最低api 16。 有没有其他的方法来静音整个系统? 如果没有,为什么谷歌弃用此方法?

获取当前位置0在低于23 API的棉花糖给它确切的当前位置使用融合位置

我在23个以下的设备中获得了当前位置,但在23个仿真器设备中获得了(0.0,0.0)经度和经度。 编辑目前,我正在使用Fused Location Provider获取当前位置 public class ContactUsFragment extends Fragment implements ConnectionCallbacks, OnConnectionFailedListener, LocationListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i("TAG", "OnCreate Called"); locationManager = (LocationManager) getActivity() .getSystemService(Context.LOCATION_SERVICE); buildGoogleApiClient(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, final Bundle savedInstanceState) { // Inflate the layout for this fragment view = inflater.inflate(R.layout.fragment_contact_us, container, false); Log.i("TAG", […]

如何检查Android棉花糖模拟位置?

如何检测是否在Android Marshmallow使用Mock Location触发Mock Location ? 以前,我使用了Settings.Secure.ALLOW_MOCK_LOCATION 但是,在API级别23中,这已被弃用。 我想检查触发是否与假的位置或原始的GPS? 现在,有什么替代检查是否启用Mock Location Android Marshmallow ?

获取棉花糖蓝牙本地MAC地址

在棉花糖之前,我的应用程序将通过BluetoothAdapter.getDefaultAdapter().getAddress().获取设备的MAC地址BluetoothAdapter.getDefaultAdapter().getAddress(). 现在,棉花糖安卓正在返回02:00:00:00:00:00 我看到一些链接(抱歉不知道现在在哪里),说你需要添加额外的权限 <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/> 能够得到它。 但是它不适合我。 是否有一些额外的权限需要获得mac地址? 我不确定它在这里是相关的,但是表格也包括在内 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 那么有没有办法获得本地的蓝牙MAC地址?

“你不能改变私人安全设置” – 如何在Android 6中切换铃声振动?

由于Android 6 Marshmallow关于权限的最近更改,以下代码不再有效并引发exception。 Settings.System.putInt(getContentResolver(), "vibrate_when_ringing", 0); 即使授予应用程序的WRITE_SETTINGS权限,也会发生这种情况: Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS); Uri uri = Uri.fromParts("package", getActivity().getPackageName(), null); intent.setData(uri); startActivityForResult(intent, WRITE_SETTINGS_PERMISSION_REQUEST_CODE); //at this point Settings activity is opened and user is prompted for permission … if (Settings.System.canWrite(this)) { //now returns true, because permissions were granted Settings.System.putInt(getContentResolver(), "vibrate_when_ringing", 0); //still crashes } else { Log.w(LOG_TAG, "No […]

Android 6.0 RuntimeException:无法连接到相机服务

在Nexus5(Android6.0)中运行的应用程序发生错误。 错误是 java.lang.RuntimeException:无法连接到相机服务 我已经将权限添加到AndroidManifest.xml。 但该应用程序是可以与另一个电话(Android5.1)和genymotion AVD(Android 4.0)。 关键代码如下 @Override public void onResume() { super.onResume(); try { mCamera = Camera.open(); }catch (Exception e){ Log.e(TAG,"open camera failed",e); } }

蓝牙LE ScanFilters不能在Android M上运行

下面的代码在运行Android 5.1.1(Build LMY48M)的Nexus 9上效果很好,但不能在运行Android 6.0的Nexus 9(Build MPA44l)上运行。 List<ScanFilter> filters = new ArrayList<ScanFilter>(); ScanSettings settings = (new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_POWER)).build(); ScanFilter.Builder builder = new ScanFilter.Builder(); builder.setManufacturerData((int) 0x0118, new byte[]{(byte) 0xbe, (byte) 0xac}, new byte[]{(byte) 0xff, (byte)0xff}); ScanFilter scanFilter = builder.build(); filters.add(scanFilter); mBluetoothLeScanner.startScan(filters, settings, new ScanCallback() { … }); 在Android 5.x上,当看到与扫描filter匹配的制造商广告时,上面的代码会产生一个callback。 (请参阅下面的示例Logcat输出。)在具有MPA44l的Nexus 9上,不会收到callback。 如果您注释掉扫描filter,则在Nexus 9上成功接收callback。 09-22 00:07:28.050 1748-1796/org.altbeacon.beaconreference D/BluetoothLeScanner﹕ […]

我怎样才能在Android中自定义权限对话框?

假设我在运行时请求一个权限,如下所示: ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS); Android系统创build一个popup对话框来请求权限。 我怎样才能定义该对话框的自定义布局?