如何解决如何将Flutter应用设置为默认短信应用?
我要制作自定义SMS应用程序,因此它应该是默认的SMS应用程序。在android中,我们使用此代码将应用程序设置为默认的短信应用程序。
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,myPackageName);
startActivity(intent);
有人可以帮助如何在Flutter中实现这一目标。 谢谢
解决方法
只需创建一个方法通道
class MainActivity : FlutterActivity() {
private val CHANNEL = "com.example.chat/chat"
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger,CHANNEL).setMethodCallHandler { call,result ->
if (call.method == "setDefaultSms") {
try {
var intent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(
Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,<the app package name>
);
startActivity(intent);
result.success("Success")
} catch (ex: Exception) {
result.error("UNAVAILABLE","Setting default sms.",null)
}
} else {
result.notImplemented()
}
}
}
}
然后在你的飞镖代码中调用方法通道
static const platform = const MethodChannel("com.example.chat/chat");
try {
final result = await platform.invokeMethod('setDefaultSms');
print("Result: $result");
} on PlatformException catch (e) {
print("Error: $e");
}
}
请注意,上述解决方案不会使您的应用符合默认短信应用的条件 您可能需要在清单文件中添加一些内容以获取更多信息,请查看此帖子 Check this out
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。