我在GKE上有一个应用程序,我希望仅通过HTTPS提供,因此我获得了一个签名证书以使用TLS保护应用程序.
我已经查看了很多有关如何执行此操作的教程,但它们都是指使用Ingress并使用LetsEncrypt和KubeLego自动请求证书.但我希望继续使用外部负载平衡器(谷歌为我提供的计算引擎实例),但我只想通过https访问我的应用程序.
如何应用我的server.crt和server.key文件来启用https.Do我将它应用于负载均衡器或kubernetes集群.
在android中构建布局时,如果使用ImageView
或ImageButton
而不添加内容描述,则会收到一条警告,告诉您将内容描述添加到具有的视图中,AppCompatImageView
并且AppCompatImageButton
该警告不再可用。我认为这是因为的实现AppCompatImageView
具有基于视图内容的默认内容描述,但是回话仍将其读取为“未标记的按钮”,为什么删除了警告?
我仅在运行 android 11 的三星设备上遇到此崩溃。显然该应用程序正在调用startForegroundService(intent)
并要求我发布通知,让用户知道我正在运行前台服务,但startForegroundService(intent)
从未在应用程序源代码中进行过此调用,三星是否有可能自定义实现 android 11 并startForegroundService(intent)
在我打电话时自动调用startService(intent)
?
堆栈跟踪
Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{4ab4323 u0 {app package name}/{library package name}.player.PlayerService}
android.app.ActivityThread$H.handleMessage (ActivityThread.java:2240)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loop (Looper.java:246)
android.app.ActivityThread.main (ActivityThread.java:8506)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:602)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1130)
Run Code Online (Sandbox Code Playgroud)
我使用context.startService(intent)
服务启动服务,服务在应用程序的 OnResume 中启动,上下文是应用程序上下文。
这里也是在清单中声明服务的方式
<service
android:name=".player.PlayerService"
android:exported="false"
android:foregroundServiceType="mediaPlayback"
android:stopWithTask="false">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</service>
Run Code Online (Sandbox Code Playgroud)
更新:我找到了调用 的原因startForegroundService(Intent)
,我正在使用来自 android 的以下接收器来帮助处理诸如耳机按钮之类的操作控制设备,因此自从我将应用程序转换为 androidx 它开始使用新的MediaButtonReceiver
<receiver android:name="androidx.media.session.MediaButtonReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
这是Receiver收到事件时执行的代码
@Override
public …
Run Code Online (Sandbox Code Playgroud) 我有以下Enum类
public enum EventAccess {
PUBLIC("PUBLIC"),
EMPLOYEES_ONLY("EMPLOYEES_ONLY"),
String name;
private EventAccess(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
此外,我有一个Serializable类,其枚举作为其中一个字段
public class EventAccessRequest implements Serializable{
private List<EventAccess> event_access = new ArrayList<>();
public EventAccessRequest() {
}
public List<EventAccess> getEvent_access() {
return event_access;
}
public void setEvent_access(List<EventAccess> event_access) {
this.event_access = event_access;
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个@Api方法,它创建了一个EventAccessRequest类型的对象.我在Api Explorer中设置了此请求的值,但它没有设置我放入的任何枚举字段.
@ApiMethod(name = "fetchEventByEventAccess", path = "user/events/list-by-access/", httpMethod = HttpMethod.GET)
public RestfulResponse fetchEventByEventAccess(EventAccessRequest request)throws Exception
{
EventAccess x = request.getEvent_access().get(0);
return …
Run Code Online (Sandbox Code Playgroud) java google-app-engine enums serialization google-cloud-platform
我尝试在我的 Android 应用程序中实现新的短信检索 Api,但我无法正确读取消息,当收到消息时会调用我的服务,但我无法从意图的附加内容中获取消息内容。这是我的服务的示例代码:
/**
* BroadcastReceiver to wait for SMS messages. This can be registered either
* in the AndroidManifest or at runtime. Should filter Intents on
* SmsRetriever.SMS_RETRIEVED_ACTION.
*/
public class SmsVerificationReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (SmsRetriever.SMS_RETRIEVED_ACTION.equals(intent.getAction())) {
Bundle extras = intent.getExtras();
Status status = (Status) extras.get(SmsRetriever.EXTRA_STATUS);
switch(status.getStatusCode()) {
case CommonStatusCodes.SUCCESS:
// Get SMS message contents
String message = (String) extras.get(SmsRetriever.EXTRA_SMS_MESSAGE);
Timber.d(message);
Toast.makeText(context, "Message is: "+ message, Toast.LENGTH_LONG).show();
// Extract …
Run Code Online (Sandbox Code Playgroud) sms android android-intent android-service sms-retriever-api
我想得到任何图像,将其转换为位图,将其大小调整为(1024,16)然后获取每个像素的RGB值.
这是我调整大小的功能
public Bitmap Resize(bitmap image1)
{
Bitmap image2 = new Bitmap(16, 1024);
Graphics gr = Graphics.FromImage(image2);
gr.DrawImage(image1,0,0,image2.Height,image2.Width);
return image2;
}
Run Code Online (Sandbox Code Playgroud)
然后这是我的函数,以获取每个像素的RGB值并将其写入文本文件
for (int y = 0; y < image2.Height; y++)
{
for (int x = 0; x < image2.Width; x++)
{
Color pixelcolor = image2.GetPixel(x,y);
byte weR = pixelcolor.R;
byte weG = pixelcolor.G;
byte weB = pixelcolor.B;
sR.WriteLine(weR.ToString());
sR.WriteLine(weG.ToString());
sR.WriteLine(weB.ToString());
sR.WriteLine();
}
}
Run Code Online (Sandbox Code Playgroud)
但问题是,在循环256次之后,RGB值变为0并且如果像素则不会再次变化.也就是说,它为图像提供正确的RGB值256次,然后一切都变为0.
任何颜色的任何图像都会发生这种情况.
请问我的代码有什么问题?
android ×3
android-11 ×1
bitmap ×1
c# ×1
devops ×1
enums ×1
image ×1
java ×1
kubernetes ×1
sms ×1