2 つの異なるバージョンを持つ INSTALL_NON_MARKET_APPS オプションを回避しようとしています。17 より前の API レベルおよび 17+。これを実行すると、null ポインター例外が発生します。
boolean unknownSource = false;
if (Build.VERSION.SDK_INT < 17) {
unknownSource = Settings.Secure.getInt(null, Settings.Secure.INSTALL_NON_MARKET_APPS, 0) == 1;
} else {
unknownSource = Settings.Global.getInt(null, Settings.Global.INSTALL_NON_MARKET_APPS, 0) == 1;
}