• 0
alexbirukov

[RAD X] Push уведомления

Вопросы

Установил новую студию ради исправления одной ошибки, и наткнулся на другую, ещё более критичную.

 

В общем и в новых и в старых проектах одинаковая ситуация. Если на форме имеются компоненты KinveyProvider (ParseProvider) и PushEvent, то в режиме Release - Application Store приложение запускается, но после сплэш скрина просто чёрный экран и ничего не происходит, приложение зависает. В режиме Debug всё отлично запускается и работает, Push приложения приходят. Все разрешения есть, даже больше, специально выставлял абсолютно все разрешение.

 

В режиме отладки не запускается, приложение просто подвисает, отладчик ругается, что оно не отвечает. 

 

Мучаюсь уже второй день, может кто сталкивался или знает куда копать, буду рад любому совету.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 ответов на этот вопрос

  • 0

Установил новую студию ради исправления одной ошибки, и наткнулся на другую, ещё более критичную.

 

В общем и в новых и в старых проектах одинаковая ситуация. Если на форме имеются компоненты KinveyProvider (ParseProvider) и PushEvent, то в режиме Release - Application Store приложение запускается, но после сплэш скрина просто чёрный экран и ничего не происходит, приложение зависает. В режиме Debug всё отлично запускается и работает, Push приложения приходят. Все разрешения есть, даже больше, специально выставлял абсолютно все разрешение.

 

В режиме отладки не запускается, приложение просто подвисает, отладчик ругается, что оно не отвечает. 

 

Мучаюсь уже второй день, может кто сталкивался или знает куда копать, буду рад любому совету.

второй день это еще не плохо ))

кинву не юзаю, но кое где местами и среда может поднаср..ь, например переключение справа в билд кофигурэйшн

часто желательно вручную мышой правой Активате делать при сменах режима(дебаг, релиз). Т.к. в опциях проекта переключение мышой не всегда корректно.

После переключения вручную, проверьте в опциях проекта права (permissions) все ли стоят для Релиза.

В манифесте права обязательно должны быть, ну раз в дебаге пашет, то наверно добавили корректно?

Потом ключик подписи надеюсь корректен.

Св-во формы Активате проверьте все ли у вас там красиво...покомменте и снова на тест...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Всё делал и как написано, и по всякому.

В проекте нет кода. Тестовый проект, без всякого кода, просто два элемента на форме. Провайдер и ПушЭвент. Запускаем, получаем чёрный экран. Даже если отключить автоактивацию и пр. Что Kinvey, что Parse, не работает ни то, ни другое в режиме Релиза на андройде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

включен Recieve Push Notifications?

Библиотеки cloud-messaging.dex.jar и прочие гугловые включены?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Всё делал и как написано, и по всякому.

В проекте нет кода. Тестовый проект, без всякого кода, просто два элемента на форме. Провайдер и ПушЭвент. Запускаем, получаем чёрный экран. Даже если отключить автоактивацию и пр. Что Kinvey, что Parse, не работает ни то, ни другое в режиме Релиза на андройде.

вы говорите все ок...но походу не так ))

выложите манифест файл андроида...он важен для пушей, точнее туда дописывать надо права отдельно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

Всё делал и как написано, и по всякому.

В проекте нет кода. Тестовый проект, без всякого кода, просто два элемента на форме. Провайдер и ПушЭвент. Запускаем, получаем чёрный экран. Даже если отключить автоактивацию и пр. Что Kinvey, что Parse, не работает ни то, ни другое в режиме Релиза на андройде.

вы говорите все ок...но походу не так ))

выложите манифест файл андроида...он важен для пушей, точнее туда дописывать надо права отдельно

 

Я не говорю, что всё ОК. Я говорю, что всё, что вы писали я проверял. Проекты в которых РАБОТАЛИ и РАБОТАЮТ пуши, под Delphi 10 не запускаются, ровно так же, как и новые проекты с компонентом для работы с Push.

 

<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="*"
        android:versionCode="1"
        android:versionName="1.0.0"
        android:installLocation="preferExternal">

    <!-- This is the platform API where NativeActivity was introduced. -->
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_CALENDAR" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <permission android:name="*.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="*.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <uses-feature android:glEsVersion="0x00020000" android:required="True"/>
    <application android:persistent="False" 
        android:restoreAnyVersion="False" 
        android:label="*" 
        android:debuggable="False" 
        android:largeHeap="False"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme"
        android:hardwareAccelerated="true">


		
		<service android:name="com.embarcadero.gcm.notifications.GCMIntentService" />
        <!-- Our activity is a subclass of the built-in NativeActivity framework class.
             This will take care of integrating with our NDK code. -->
        <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
                android:label="*"
                android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
                android:launchMode="singleTask">
            <!-- Tell NativeActivity the name of our .so -->
            <meta-data android:name="android.app.lib_name"
                android:value="*" />
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> 
        </activity>
        
        <receiver android:name="com.embarcadero.rtl.notifications.NotificationAlarm" />
<receiver android:exported="true" android:name="com.embarcadero.gcm.notifications.GCMNotification" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="*" />
</intent-filter>
</receiver>

    </application>
</manifest>
<!-- END_INCLUDE(manifest) -->

Изменено пользователем alexbirukov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

 

Всё делал и как написано, и по всякому.

В проекте нет кода. Тестовый проект, без всякого кода, просто два элемента на форме. Провайдер и ПушЭвент. Запускаем, получаем чёрный экран. Даже если отключить автоактивацию и пр. Что Kinvey, что Parse, не работает ни то, ни другое в режиме Релиза на андройде.

вы говорите все ок...но походу не так ))

выложите манифест файл андроида...он важен для пушей, точнее туда дописывать надо права отдельно

 

Я не говорю, что всё ОК. Я говорю, что всё, что вы писали я проверял. Проекты в которых РАБОТАЛИ и РАБОТАЮТ пуши, под Delphi 10 не запускаются, ровно так же, как и новые проекты с компонентом для работы с Push.

 

<?xml version="1.0" encoding="utf-8"?>
...

Я правильно понимаю, что этот манифест вам позволял получать пуши в XE8 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Да с данным манифестом всё работало, хотя уже столько копий проекта, что мог запутаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Тоже самое, даже обычный Sample проект от Делфи запускал с теми же пушами, чёрный экран. И на этом "баги" не заканчиваются. При создании обычной формы, потом положив на неё обычный edit, скомпилив и запустив, приложения тупо зависает, а если и не зависает, то при попытке напечатать текст, приложения опять зависает намертво и вылетает... ( При удаление Edit приложение работает отлично, даже с отправкой запроса обычного всё отлично, но стоит положить Edit, всё, приложение вылетает с зависанием )

Изменено пользователем FaNtA_DDD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Да с данным манифестом всё работало, хотя уже столько копий проекта, что мог запутаться.

 

вот мой рабочий

от вашего пару отличий все же есть...

1. <permission android:name="%package%.permission....

2. блок <receiver тоже отличается кажется весь

 

я добавлял советы сабины блоками Rustam added и end ) 

не уверен, но вдруг вам поможет

<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="%package%"
        android:versionCode="%versionCode%"
        android:versionName="%versionName%"
        android:installLocation="%installLocation%">


    <!-- This is the platform API where NativeActivity was introduced. -->
    <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
<%uses-permission%>
    <uses-feature android:glEsVersion="0x00020000" android:required="True"/>
    <application android:persistent="%persistent%" 
        android:restoreAnyVersion="%restoreAnyVersion%" 
        android:label="%label%" 
        android:debuggable="%debuggable%" 
        android:largeHeap="%largeHeap%"
        android:icon="%icon%"
        android:theme="%theme%"
        android:hardwareAccelerated="%hardwareAccelerated%">
    <!--Rustam added -->
    <!-- GCM connects to Google Services. -->
    <uses-permission android:name="android.permission.INTERNET" />


    <!-- GCM requires a Google account. -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />


    <!-- Keeps the processor from sleeping when a message is received. -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />


    <!--
     Creates a custom permission so only this app can receive its messages.


     NOTE: the permission *must* be called PACKAGE.permission.C2D_MESSAGE,
     where PACKAGE is the application's package name.
    -->
    <permission android:name="%package%.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
    <uses-permission android:name="%package%.permission.C2D_MESSAGE" />


    <!-- This app has permission to register and receive data message. -->
    <uses-permission
    android:name="com.google.android.c2dm.permission.RECEIVE" />
    <!--Rustam added end-->
<%application-meta-data%>
        <!-- Our activity is a subclass of the built-in NativeActivity framework class.
             This will take care of integrating with our NDK code. -->
        <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
                android:label="%activityLabel%"
                android:configChanges="orientation|keyboard|keyboardHidden"
                android:launchMode="singleTask">
            <!-- Tell NativeActivity the name of our .so -->
            <meta-data android:name="android.app.lib_name"
                android:value="%libNameValue%" />
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> 
        </activity>
    <!--Rustam added -->
    <receiver
          android:name="com.embarcadero.gcm.notifications.GCMNotification" android:exported="true"
          android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
              <action android:name="com.google.android.c2dm.intent.RECEIVE" />
              <category android:name="%package%" />
            </intent-filter>
    </receiver>
    <service android:name="com.embarcadero.gcm.notifications.GCMIntentService" />
    <!--Rustam added end-->
        <%activity%>
        <receiver android:name="com.embarcadero.firemonkey.notifications.FMXNotificationAlarm" />
        <%receivers%>
    </application>
</manifest>
<!-- END_INCLUDE(manifest) -->

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

В 8.1 у меня отлично работает стандартный шаблон без каких либо исправлений.

<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="%package%"
        android:versionCode="%versionCode%"
        android:versionName="%versionName%"
        android:installLocation="%installLocation%">

    <!-- This is the platform API where NativeActivity was introduced. -->
    <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
<%uses-permission%>
    <uses-feature android:glEsVersion="0x00020000" android:required="True"/>
    <application android:persistent="%persistent%" 
        android:restoreAnyVersion="%restoreAnyVersion%" 
        android:label="%label%" 
        android:debuggable="%debuggable%" 
        android:largeHeap="%largeHeap%"
        android:icon="%icon%"
        android:theme="%theme%"
        android:hardwareAccelerated="%hardwareAccelerated%">

<%application-meta-data%>
        <!-- Our activity is a subclass of the built-in NativeActivity framework class.
             This will take care of integrating with our NDK code. -->
        <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
                android:label="%activityLabel%"
                android:configChanges="orientation|keyboard|keyboardHidden"
                android:launchMode="singleTask">
            <!-- Tell NativeActivity the name of our .so -->
            <meta-data android:name="android.app.lib_name"
                android:value="%libNameValue%" />
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> 
        </activity>
        <%activity%>
        <receiver android:name="com.embarcadero.firemonkey.notifications.FMXNotificationAlarm" />
        <%receivers%>
    </application>
</manifest>
<!-- END_INCLUDE(manifest) -->

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

В 8.1 у меня отлично работает стандартный шаблон без каких либо исправлений.

<?xml version="1.0" encoding="utf-8"?>

ясно, ну тогда остается решать проблемы с Кинвей...по мне GCM проще не куда...правда группой получать пуши пока незнаю как...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Да в общем-то под 10ку это не единственная проблема. Приложения не запускаются под iOS. В соседней ветке описал. Если использовать Delphi 10 + xCode 7 + SDK 9. То на выходе получаем приложение, которое не запускается на iOS 8.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Delphi 10.1 Berlin Update 1.   Использую Kinvey и соответствующие компоненты KinveyProvider, PushEvents.  На iOS все работает, на Android токены получаю, а сообщения не приходят.  Манифест менял, результата нет.  Токен главное получаю, сообщения нет.    Да на IOS (xCode 7, iOS 10) непонятно как убрать все сообщения из шторки, StartupNotifications возвращает Nil. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Savage
      Здравствуйте!
      Второй день не получается поменять стандартный звук в push-уведомлении на свой.
      Сделал все по мануалу Гугла,  https://developers.google.com/cloud-messaging/http-server-ref
      Добавил звуковые файлы в проект в нужное место (/res/raw/ )
      Пуши летают, но звук стандартный. Такое впечатлеие, что com.embarcadero.gcm.notifications.GCMIntentService  просто игнорирует параметр sound
      Посмотрел при помощи LogCat
      В конечном итоге, в NotificationService прилетает уже дефолтный звук.
      04-05 23:03:34.172 V/NotificationService(1143): enqueueNotificationInternal: pkg=com.savage.pushtest id=4 notification=Notification(pri=0 contentView=null vibrate=null sound=content://settings/system/notification_sound defaults=0x0 flags=0x0 color=0x00000000 vis=PRIVATE)
      Неужели копать только в сторону правок com.embarcadero.gcm.notifications.GCMIntentService?
      Может есть готовое решение?
    • От Alex7wrt
      Столкнулся со следующей проблемой
      Конструкция типа:
      try HTTP:=THTTPClient.Create; Stream:= TStringStream.Create('',TEncoding.UTF7); HTTP.Get('http://some_url', stream); Stream.Position:=0; Result:=stream.DataString; HTTP.Free; Stream.Free; except Result:='error'; end; Возвращает Result = 'error' при первом подключении через WiFi. При этом через мобильные сети работает отлично. Причем, если после нормального запуска через мобильную сеть, переключится на WiFi, то снова работает. А если изначально повторять много раз под WiFi - то нет. Платформа - Android.
      Куда копать? 
    • От Rusland
      Приложение свернуто или закрыто.
      Отправляю один пуш, на телефоне в шторке появляется уведомление.
      Отправляю еще один, появляется второе уведомление и так далее. Сколько пушей, столько и уведомлений.
      Как сделать чтобы все уведомления собирались в одном уведомлении в шторке? (как делают telegram, whatsapp и т. п.)
    • От Barbanel
      Здравствуйте!
      Подскажите пожалейста, устанавливаются ли какие-либо стандартные Define при компиляции приложения для Play Store?
      Понятно что можно установить свои дефайны, разные для дебага и релиза, но хочется знать, существуют ли стандартные.
      Спасибо, всем хорошего дня =)
    • От Евгений Корепов
      Наткнулся тут на изящную штуку для приложения с PUSH уведомлениями на Android и Ios. Один объект, все сам делает.
      Внедрил в одно боевое приложение с 100+ тысячами установок, полет нормальный.
      Описание тут https://delphiworlds.com/2017/04/firebase-cloud-messaging-android-ios/
      Исходный код с примером на гитхабе https://github.com/DelphiWorlds/PushClient
      Использование максимально простое:
      uses DW.PushClient; .... private FPushClient: TPushClient; procedure PushClientChangeHandler(Sender: TObject; AChange: TPushService.TChanges); procedure PushClientReceiveNotificationHandler(Sender: TObject; const ANotification: TPushServiceNotification); .... procedure TFormMain.InitPushService; begin FPushClient := TPushClient.Create; FPushClient.GCMAppID := ConstGCMAppID; FPushClient.ServerKey := ''; FPushClient.BundleID := ''; FPushClient.UseSandbox := Debug; // Change this to False for production use! FPushClient.OnChange := PushClientChangeHandler; FPushClient.OnReceiveNotification := PushClientReceiveNotificationHandler; try FPushClient.Active := True; except SendError('FPushClient.Active Exception'); end; end; procedure TFormMain.PushClientChangeHandler(Sender: TObject; AChange: TPushService.TChanges); begin if TPushService.TChange.DeviceToken in AChange then begin HDevicePushParams.DeviceID:=FPushClient.DeviceID; HDevicePushParams.DeviceToken:=FPushClient.DeviceToken; GetHTTP(CommandRegisterFCM); // Memo1.Lines.Add('DeviceID = ' + FPushClient.DeviceID); // Memo1.Lines.Add('DeviceToken = ' + FPushClient.DeviceToken); end; end; procedure TFormMain.PushClientReceiveNotificationHandler(Sender: TObject; const ANotification: TPushServiceNotification); begin // ShowMessage(ANotification.DataObject.ToString... end; Правда руки не дошли разобраться для чего ему 
        FPushClient.ServerKey := '';
        FPushClient.BundleID := '';
      Но и без этого работает.
       
    • От Равиль Зарипов (ZuBy)
      Ссылка: http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html
      Автор: Зарипов Равиль @ZuBy
      Описание: Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]
      В предыдущей  части , я рассказывал как сделать настройку пуш уведомления в консоли Firebase, в этой я покажу код на Delphi и серверную часть на PHP
      https://github.com/rzaripov1990/PUSHTestFCM
    • От Равиль Зарипов (ZuBy)
      Ссылка: http://blog.rzaripov.kz/2017/02/firebase-android-ios.html
      Автор: Зарипов Равиль @ZuBy
      Описание: Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS
    • От dmokrushin123
      На устройство с IOS сообщения приходят и через Kinvey и через FCM (Firebase Cloud Messaging).
      На Android возвращается Token, сами уведомления НЕ приходят. 
       
       
       
       
       
       
    • От Dmitry Sobko
      Здравствуйте коллеги!
      Помогите пожалуйста, всю голову сломал. google не помог.
      Я написал приложение, которое разместил в PlayMarket'е. На моем смартфоне (Highscreen Power Rage) оно работает очень хорошо, без всяких проблем.
      Вопрос: Кто бы не скачал мое приложение, ссылка https://play.google.com/apps/testing/ru.portalle.ElectraDoors, приложение после заставки либо вылетает, либо просто висит черный экран. В чем может быть проблема? Дебагер не выдает никаких ошибок или предупреждений.
      В личном кабинете PLayMarket'а перед публикацией неизвестные мне люди тестируют это приложение и у всех одна и та же ситуация http://joxi.ru/J2be3VVcJvQMm6
      Но один, видимо самый ответственный http://joxi.ru/bmoovzzhLjBXmy, пишет описание проблемы:
      Проблема: java.lang.NullPointerException: Attempt to invoke interface method 'com.android.volley.l com.google.android.finsky.api.b.a(com.android.volley.t, com.android.volley.s, boolean)' on a null object reference
      FATAL EXCEPTION: main Process: com.google.android.videos, PID: 26336 java.lang.NullPointerException: Attempt to invoke interface method 'com.android.volley.l com.google.android.finsky.api.b.a(com.android.volley.t, com.android.volley.s, boolean)' on a null object reference at android.os.Parcel.readException(Parcel.java:1552) at android.os.Parcel.readException(Parcel.java:1499) at com.android.vending.contentfilters.IContentFiltersService$Stub$Proxy.getContentFiltersAndIntent(SourceFile:139) at com.google.android.videos.contentfiltering.ContentFiltersManager.saveContentFiltersToPreference(SourceFile:438) at com.google.android.videos.contentfiltering.ContentFiltersManager.access$100(SourceFile:81) at com.google.android.videos.contentfiltering.ContentFiltersManager$1.onServiceConnected(SourceFile:423) at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1314) at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1331) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:6837) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) Google говорит о том, что проблема с какими то фрагментами. http://ru.stackoverflow.com/questions/514856/Ошибка-attempt-to-invoke-virtual-method-on-a-null-object-reference 
      Дословно:  Метод onCreateView фрагмента предназначен для создания корневого элемента пользовательского интерфейса фрагмента. Т.е. в нем первым делом вы создаете view которая будет отображаться, а в конце вы должны вернуть эту view из этого метода.  Вы же зачем то пытаетесь искать ваши view в активити вызывая getActivity().findViewById(). Очевидно что их там нету, и данный метод возвращает null, но вы пытаетесь установить в них какие-то значения после чего и вылетает NullPointerException.
      О чем это он? Где мне это в Delphi смотреть?
      Надеюсь на вашу помощь! Спасибо!
    • От Кривяков Виталий
      Добрый день!
      Возникла необходимость отправлять уведомления в стороннюю программу. Да не абы как через сертификаты, о чем много тут статей, а через токены.

      Немного руководства от яблока.
      Нашел библиотеку для работы с JWT
      https://github.com/paolo-rossi/delphi-jose-jwt
      Но вот как подписывать токен алгоритмом  ECDSA и какие сертификаты использовать не могу понять. Кто занимался похожем вопросом? Поделитесь знаниями.
      Спасибо
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу