Android6.0~9.0フィット

2590 ワード

1、Android6.0
  • 危険権限動的出願
  • 2、Android7.0
    2.1アプリケーション間ファイル共有
    2.2 APK署名
  • はv 1:従来の署名方式のみをチェックし、7.0+バージョンではv 2セキュリティ検証方式
  • は使用されません.
  • v 2:7.0-バージョンはインストールされていないことを示します.7.0+バージョンはv 2セキュリティ検証方式を使用して、v 1、v 2
  • を同時にチェックすることをお勧めします.
    2.3 SharedPreferences異常
    Android 7.0+バージョンでSharedPreferencesにContextを設定します.MODE_WORLD_READADBLEまたはContext.MODE_WORLD_WRITEABLEでは、SecurityExceptionがトリガーされます.MODE_をWORLD_READADBLEモードをMODE_に変更PRIVATEでいいです.
    3、Android8.0
    3.1 PHONE権限グループ新規追加権限
  • ANSWER_PHONE_CALLS:アプリケーションがプログラミングで着信電話に出ることができます.アプリケーションで呼び出し電話を処理するには、acceptRingingCall()関数を使用します.
  • READ_PHONE_NUMBERS:権限により、アプリケーションがデバイスに格納されている電話番号を読み取ることができます.

  • 3.2通知
    3.3 APKのインストール
    不明なソースのインストールを許可するアプリケーション権限をプロファイルに追加
    
    

    ここで注意して、この権限を加えた後、実行するときは、やはり権限をチェックしなければなりません.Android 6.0動的申請権限が異なり、contextを通過する権限があるかどうかを確認します.getPackageManager().canRequestPackageInstalls()メソッドをチェックし、trueに戻るには権限があり、ユーザーにプロンプトボックスを自分で書く必要はありません.そしてIntentで設定ページに移動します.
    //     8.0 API,                
    Uri uri = Uri.fromParts("package", mActivity.getPackageName(), null);
    intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, uri);
    

    4、Android9.0
    4.1ネットワーク
    Android 9.0+バージョンでは、デフォルトではhttpリクエストのみがサポートされています.つまり、あなたのAppでhttpリクエストを使用すると制限されます.まずnetwork_を作成しますsecurity_config.xmlファイル
    
    
        
    
    

    次に、プロファイルのアプリケーションラベルに追加します.
      android:networkSecurityConfig="@xml/network_security_config"
    

    4.2 wifiモジュール
    android 8.0/8.1でwifiリストをスキャンしたり、wifi名を取得したりする機能に必要な権限の1つ
  • ACCESS_FINE_LOCATION
  • ACCESS_COARSE_LOCATION
  • CHANGE_WIFI_STATEはAndroid 9.0+本版の関連機能は以下のすべての条件
  • を満たす必要がある.
  • ACCESS_FINE_LOCATIONまたはACCESS_COARSE_LOCATION権限.
  • CHANGE_WIFI_STATE権限.

  • 4.3 Intent
    Activity以外のContextを使用してページをジャンプしてエラーを報告
     android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
    

    この場合、Intentにflagを追加する必要があります.
    Intent intent = new Intent(MainActivity.this, MainActivity2.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    AppConfigInIt.getApplicationContext().startActivity(intent);