首页 > 解决方案 > 在 Flutter Android 中读取托管应用配置

问题描述

EMM/MDM 控制设备的颤振构建应用程序如何读取托管应用程序配置配置文件信息?

背景。该应用程序当前正在读取通过构建过程推送的环境变量,我希望将其更改为使用我们可以控制的 MDM 应用程序配置文件。

今天:

const environment = String.fromEnvironment('environment', defaultValue: 'dev');

我想去的地方是在颤动中实现,但我无法确定如何访问:RestrictionsManager:

var myRestrictionsMgr =
        activity?.getSystemService(Context.RESTRICTIONS_SERVICE) as RestrictionsManager

标签: androidflutterflutter-dependencies

解决方案


我能够弄清楚这一点。在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");

推荐阅读