我已经使用此处的指南在我的应用程序中成功实现了 SMS 检索器。我的代码工作正常,并且 otp 在许多设备中自动填充,但有些设备如 vivo v15 pro、redmi note 4 它不起作用(BroadcastReceiver 的 onReceive() 没有被触发)。我在这里附上了我的代码。检查并告诉我您是否有任何解决方案。谢谢
清单文件
<receiver
android:name=".sms.SMSRetrieverBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
SMSRetrieverBroadcastReceiver.kt
class SMSRetrieverBroadcastReceiver : BroadcastReceiver() {
companion object{
private var otpReceiver: OtpReceiver? = null
fun initOTPListener(receiver: OtpReceiver) {
this.otpReceiver = receiver
}
}
override fun onReceive(context: Context, intent: Intent) {
if (SmsRetriever.SMS_RETRIEVED_ACTION == intent.action) {
val extras = intent.extras
val status = extras!!.get(SmsRetriever.EXTRA_STATUS) as Status
when (status.statusCode) {
CommonStatusCodes.SUCCESS -> {
// Get …Run Code Online (Sandbox Code Playgroud) 我试图在谷歌地图上用手绘制一个多边形,然后将颜色填充到多边形.
通常颜色填充正常并按预期工作,但如果多边形具有拦截点,则填充颜色不起作用.
我使用下面的代码绘制多边形并将颜色填充到多边形
PolygonOptions drawShapeOptions = new PolygonOptions();
drawShapeOptions.addAll(mLatLngList);
drawShapeOptions.strokeColor(Color.BLACK);
drawShapeOptions.strokeWidth(5);
drawShapeOptions.fillColor(Color.GRAY);
mDrawShape = mGoogleMap.addPolygon(drawShapeOptions);
Run Code Online (Sandbox Code Playgroud)
结果如下
如何用交叉点填充此多边形中的颜色?