Android 9.0プライベートapi弾枠ヒントソリューション

1120 ワード

android 9.0システムの携帯電話の中で、appを起動すると、システムが次の情報を含むヒントボックスをポップアップしていることがわかります:Detected problems with API compatibility(visit g.co/dev/appcompat for more info)は検索エンジンの検証を経て、そして親測して、application類の中で、以下の方法を追加して呼び出して、問題を解決することができます
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        disableAPIDialog();
        }

     /**
     * android 9.0     api       
     */
    private void disableAPIDialog(){
        try {
            Class clazz = Class.forName("android.app.ActivityThread");
            Method currentActivityThread = clazz.getDeclaredMethod("currentActivityThread");
            currentActivityThread.setAccessible(true);
            Object activityThread = currentActivityThread.invoke(null);
            Field mHiddenApiWarningShown = clazz.getDeclaredField("mHiddenApiWarningShown");
            mHiddenApiWarningShown.setAccessible(true);
            mHiddenApiWarningShown.setBoolean(activityThread, true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}