Android 6.0の新しい特性


一.RunTime Permission(ランタイム権限)
この点は、以前とは大きく異なり、以前の権限はリストファイルで申請され、インストール時にユーザーが一度に許可して完了しました.6.0のバージョンでは、一部の権限をプログラムの実行中に動的にユーザーに申請するように変更しました.この部分は使い方が多いので、後で詳しく説明します.この機能はtargetSDKVersion>=23を明記してから有効になります
二.スリープモードアプリのスタンバイモード
スリープモード:携帯電話は電源が入らず静止しており、画面がしばらく閉じた後、システムはスリープモードに入ります.スリープモードでは、アプリのネットワーク読み取りを阻止し、予定されていたjob、sycsを遅らせ、標準的な目覚まし時計をかけます.アプリの活動は遅れただけで、システムは中断してこれらの機能を実行することを許可し、その後再び睡眠モードに入ります.ずっと寝ていると、アプリが起動するまでの待ち時間が長くなります.例えば、1分後にアプリを起動すると、2回目は3分後、3回目は10分後になるかもしれませんが、たぶんこのような仕事モードです.
携帯電話を移動し、画面をクリックして電源を入れれば、システムはスリープモードを終了します.
アプリのスタンバイモード:しばらくアプリをクリックしないとき.アプリをアイドルに設定するかどうかをシステムが決定できるようにします.アイドルアプリの行為は、睡眠モードに入った後のアプリの行為に似ています.充電すると、このモードは自動的にキャンセルされます.長い間放置されていたアプリは、1日に1回実行してネットの読み書きを行います.
どちらも消費電力を減らすことが目的です.長時間待機の目的を達成する.(駆け足で木があってノキアっぽい光景モードかな)
三.apacheのhttpClienの削除
アプリがapi 9以上を使用している場合は、透明な圧縮転送を使用することで、キャッシュに応答してより効率的になり、消費電力が少なくなるhttprLConnectionを使用することをお勧めします.apacheのhttpClientを引き続き使用する必要がある場合はbuid.gradleで明記
android {
    useLibrary 'org.apache.http.legacy'
}

四.BoringSSL
AndroidはOpenSSLを捨ててBoringSSLを使っています(なんか、あまり使っていないような気がします~).Android NDKを使用している場合は、libcryptoのようなcryptographicに依存しないでください.so and libssl.so.
五.ハードウェア識別コードの取得(Access hardware identifier)
より良いデータ保護のために、このバージョンから、システムはハードウェア識別コードを直接取得する方法を削除した.WIFIとBluetoothのAPISは部分的に変わり、WifiInfo.getMacAddress()とBluetooth Adapter.getAddress()メソッドは、固定値02:00:00:00:00を返します.
wifiとBluetoothスキャンで近くのデバイスの識別子を取得できますが、ACCESS_への申請が必要です.FINE_LOCATIONとACCESS_COARSE_LOCATION.次の方法でスキャンします:WifiManager.getScanResults()BluetoothDevice.ACTION_FOUNDBluetoothLeScanner.startScan()
バックグラウンドのBluetoothスキャンとwifiスキャンを行うと、この操作は外部デバイスに表示されますが、外部デバイスが表示するmacアドレスはランダムです.
六.通知バー
Notificationが削除されました.setLatestEventInfo()という方法
七.AudioManager
AudioManagerで直接音の大きさやミュート操作を調整することはサポートされていません.setStreamSolo()は破棄され、requestAudioFocus()を呼び出す必要があります.同様に、setStreamMute()は破棄され、adjustStreamVolume()転送値ADJUST_を呼び出すべきであるMUTEまたはADJUST_UNMUTE.setStreamSolo()は破棄され、requestAudioFocus()を呼び出す必要があります.同様に、setStreamMute()は破棄され、adjustStreamVolume()転送値ADJUST_を呼び出すべきであるMUTEまたはADJUST_UNMUTE.
八.Text Seletion(テキスト選択)
うん、こいつはテキストを選んで値をつけたり、コピーしたり、貼り付けたりすることができて、あまり言わないで、あまり役に立たないような気がします.
九.Brower Bookmarker changes
このバージョンはグローバルなブックマークを削除し、削除方法:android.provider.Browser.getAllBookmarks()とandroid.provider.Browser.saveBookmark()methods削除権限the READ_HISTORY_BOOKMARKSとWRITE_HISTORY_BOOKMARKS .このバージョンの後、ブックマークを内部に保存する必要があることを意味します.
十.keystore変化
DSA形式はサポートされていません
十一.wifiとネットワークの変化
   1.APPでは、自分で作成したwifiの構成状態を変更することしかできません.他の人が作成したwifi構成情報を削除または変更することはできません
   2.以前はwifiネットワークに強制することができ、モバイルネットワークの接続が切断されます.しかし、このバージョンではそうはいきません.targetSdkValersonが「21」以上である場合、ネットワークデータが指定されたネットワークに送信されることを保証するために、openConnection()、bindSocket()、bindProcessToNetwork()のようなマルチネットワークAPIs(bindProcessToNetwork()メソッドを使用する必要があります.
十二.カメラサービスの変更
先に申請して、先にサービスする策略を実行していません.より優先順位を付けて選択します
十三RunTime(運転時)
総じてnewInstance()というクラスを修正します.アプリがv 7 appcompat library or the v 7 recyclerview libraryを使用している場合は、最新のバージョンに更新して、カスタムXMLで参照されているクラスが正しく作成されることを確認する必要があります.
十四.APK検査
APK検査はAPKに対してより厳格な検査を行い、リストに書類が明記されているが、見つからない場合は、このAPKが破損していると考えられる.コンテンツが削除された場合、APKは再パッケージする必要があります.
十五.USB接続
デフォルトは充電のみです.その他の操作には、表示する権限が必要です.
十六.android for work change(なに、、、見たことない)
長すぎて見ない~~わがまま~~
ps:以上は翻訳と理解です.上原文:https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-afw