Как приложение, созданное на флаттере управляемого устройства EMM/MDM, может считывать информацию профиля конфигурации управляемого приложения?
Фон. В настоящее время приложение считывает переменные среды, которые вводятся в процессе сборки, и я собираюсь изменить это на использование профиля приложения MDM, которым мы можем управлять.
Сегодня:
const environment = String.fromEnvironment('environment', defaultValue: 'dev');
Куда я хочу пойти, так это реализовать это во флаттере, но я не могу определить, как получить доступ к: RestrictionsManager:
var myRestrictionsMgr =
activity?.getSystemService(Context.RESTRICTIONS_SERVICE) as RestrictionsManager
Я смог понять это. В MainActivity.kt:
class MainActivity: FlutterActivity() {
private val CHANNEL = "com.yourstuff.whatever/something"
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL).setMethodCallHandler {
call, result ->
var myRestrictionsMgr =
activity?.getSystemService(Context.RESTRICTIONS_SERVICE) as RestrictionsManager
var appRestrictions: Bundle = myRestrictionsMgr.applicationRestrictions
result.success(appRestrictions.getString(call.method))
}
}
}
И в трепете назвать это:
const platform = const MethodChannel("com.yourstuff.whatever/something");
platform.invokeMethod("restrictionname");