小编Sun*_*dhu的帖子

Firebase推送通知在某些设备中无法正常工作

对于使用FCM的推送通知.我在VIVO V3手机中遇到了一些问题.相同的代码适用于其他设备(黑莓,华为,三星)以及 我用3种方案测试的所有以下场景;

  1. 当应用程序在前台时.
  2. 当应用程序在后台时.
  3. 当应用程序完全杀死.

前两个条件运行良好.只有第三个问题.当应用程序杀死时没有收到任何通知.

下面的代码用于在服务器端发送数据通知消息,

 {
   "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
   "data" : {
     "title" : "Notification Title",
     "body" : "Notification Message",
   },
 }
Run Code Online (Sandbox Code Playgroud)

以下代码在我的应用中使用,

    import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.RingtoneManager;
import android.net.Uri;
import android.support.v4.app.NotificationCompat;
import android.util.Log;

import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import me.leolin.shortcutbadger.ShortcutBadger;


public class MyFirebaseMessagingService extends FirebaseMessagingService {

    private static final String TAG = "debug"; …
Run Code Online (Sandbox Code Playgroud)

android push-notification firebase firebase-cloud-messaging

7
推荐指数
1
解决办法
3189
查看次数

使用MPAndroidChart的饼图对齐问题

在我的应用程序中使用饼图.使用以下库
api 'com.github.PhilJay:MPAndroidChart:v3.0.3'.

但我面临着对齐问题的问题.附上截图,请看一下:

graph_1 graph_2

码:

public static void chartDetails(PieChart mChart, Typeface tf) {
    mChart.animateXY(1400, 1400);
    mChart.getDescription().setEnabled(false);
    mChart.setCenterTextTypeface(tf);
    mChart.setCenterText("");
    mChart.setCenterTextSize(10f);
    mChart.setCenterTextTypeface(tf);
    // radius of the center hole in percent of maximum radius
    mChart.setHoleRadius(45f);
    mChart.setTransparentCircleRadius(50f);
    Legend l = mChart.getLegend();
    l.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
    l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.RIGHT);
    l.setOrientation(Legend.LegendOrientation.VERTICAL);
    l.setDrawInside(false);
    mChart.setTouchEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)

android mpandroidchart

7
推荐指数
2
解决办法
1658
查看次数

PDF打印视图问题

我试过两种方式,

1)创建WebView并加载我的pdf文档,我的应用程序几乎完成了部分打印过程.但在那面临印刷问题.

印刷后我会这样

它没有完整的A4纸张视图.任何人都可以帮助,我使用的代码如下,

    public void createWebPagePrint(WebView webView) {
    PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);
    PrintDocumentAdapter printAdapter = null;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        printAdapter = webView.createPrintDocumentAdapter();
        String jobName = getString(R.string.app_name) + " Document";
        PrintAttributes.Builder builder = null;
        builder = new PrintAttributes.Builder();
        builder.setMediaSize(PrintAttributes.MediaSize.ISO_A4);
        PrintJob printJob = null;
        printJob = printManager.print(jobName, printAdapter, builder.build());
        if (printJob.isCompleted()) {
            Toast.makeText(getApplicationContext(), "Print Complete", Toast.LENGTH_LONG).show();
        } else if (printJob.isFailed()) {
            Toast.makeText(getApplicationContext(), "Print Failed", Toast.LENGTH_LONG).show();
        }
        builder.setMediaSize(PrintAttributes.MediaSize.ISO_A4)
                .setResolution(new PrintAttributes.Resolution("id", Context.PRINT_SERVICE, 1024, 720))
                .setColorMode(PrintAttributes.COLOR_MODE_COLOR).
                setMinMargins(PrintAttributes.Margins.NO_MARGINS).build();
    }


}
Run Code Online (Sandbox Code Playgroud)

注意:

https://developer.android.com/training/printing/html-docs.html

  • 有时加载pdf时它不显示. …

printing android

4
推荐指数
1
解决办法
496
查看次数

flutter - 如何删除 TextFormField 中错误的内容填充?

由于内容填充,错误消息也从左侧填充开始。如何为错误消息显示不同的内容填充。实际上它应该从左侧边框开始。但我需要 TextFormField 内部的内容填充,而不是错误消息。

在此输入图像描述

                                        Padding(
                                      padding: const EdgeInsets.all(10),
                                      child: Form(
                                        key: _formKeyOldPassword,
                                        onChanged: () {
                                          setState(() {
                                            _proceedOldPassword =
                                                _formKeyOldPassword
                                                    .currentState!
                                                    .validate();
                                          });
                                        },
                                        child: TextFormField(
                                          controller: oldPasswordController,
                                          obscureText: _oldPasswordVisible,
                                          autofocus: false,
                                          style: AppStyle().textStyleLabel,
                                          validator: (text) {
                                            return Validations()
                                                .validatePassword(
                                                    text.toString().trim());
                                          },
                                          onChanged: (value) {
                                            setState(() {
                                              if (value[0].endsWith(' ')) {
                                                oldPasswordController
                                                        .selection =
                                                    const TextSelection(
                                                        baseOffset: 0,
                                                        extentOffset: 0);
                                                oldPasswordController.text =
                                                    value.trim();
                                              } else {
                                                Validations()
                                                    .validatePassword(value
                                                        .toString()
                                                        .trim());
                                              }
                                            });
                                          },
                                          decoration: InputDecoration(
                                            suffixIcon: IconButton(
                                              icon: Icon(_oldPasswordVisible
                                                  ? Icons.visibility_off …
Run Code Online (Sandbox Code Playgroud)

flutter

3
推荐指数
1
解决办法
3036
查看次数

为什么flutter中变量值不刷新?

变量值在 flutter 中不会刷新(我在类之外创建的)。我添加了以下方式。因此,在按下按钮时设置不同的值。因此,如果我再次返回该屏幕,它不会显示 1。我可以知道为什么会发生这种情况吗?

int _currVal = 1;

class AskFragment extends StatefulWidget {
  static const String routeName = "//";
  static const
  int currState = -1;

  @override
  HomeScreenState createState() => HomeScreenState();
}
Run Code Online (Sandbox Code Playgroud)

flutter

2
推荐指数
1
解决办法
4501
查看次数