Связь с другим приложением Blackberry или библиотекой, которую можно обновить - PullRequest
1 голос
/ 08 июня 2011

У меня есть еще одно сомнение в RuntimeStore.Я могу обмениваться строками, используя RuntimeStore.Но я хочу, чтобы объект также обменивался.

Пример: есть 3 независимых приложения A, B, C. A создает объект C и делится им с B, используя RuntimeStore, а затем B использует тот же объекти вызвать методы или данные C.

Можем ли мы сделать что-то подобное, используя RuntimeStore.Я не мог найти это.Если у вас есть идеи, пожалуйста, поделитесь ими со мной.Спасибо.

Ответы [ 3 ]

1 голос
/ 08 июня 2011

Runtime Store может использоваться для связи между приложениями. Пока ваши два приложения поддерживают одну и ту же схему данных, у вас не должно возникнуть проблем с обновлением.

По ссылке приведен пример, который поможет вам в этом.

0 голосов
/ 09 июня 2011

Я не уверен, каково ваше намерение и цель. Позвольте мне представить вам различные сценарии и предоставить правдоподобные решения.

  1. Существует стороннее приложение A, и вы создаете приложение B. Теперь ваше приложение заинтересовано в вызове некоторых служб A или некоторых защищенных / конфиденциальных / личных функций. В этом случае вы можете использовать предварительно определенные определенные и и хорошо известные разрешения, которые определены здесь , а затем попросить систему предоставить вам эти разрешения. Система в свою очередь спрашивает пользователя, что приложение B запрашивает разрешение на список операций. Пользовательский интерфейс предоставляется пользователю для запроса разрешений. Если пользователь предоставит их, ваше приложение, в свою очередь, будет удовлетворено; иначе вашему заявлению будет отказано в разрешении.
  2. Вы являетесь единственным автором двух приложений A и B и имеете полный контроль над обоими приложениями. Ваша цель здесь заключается в безопасном обмене некоторыми данными даже в присутствии других мошеннических приложений, которые могут прослушивать данные. В этом случае вы могли бы использовать событие postGlobal Application Manager и Global Event Listener, чтобы сигнализировать, когда именно обмениваться данными. Теперь вы можете использовать RuntimeStore для обмена данными; Чтобы обеспечить безопасность в этом обмене, вы можете подписать данные своими ключами и поместить их в хранилище времени выполнения. Только другие объекты, которые могут предоставить учетные данные, получат доступ к вашим данным в хранилище времени выполнения. Это называется контролируемым доступом к личным данным

    RuntimeStore.put (MY_DATA_ID, новый ControlledAccess (myHashtable, codeSigningKey)); // в приложении A

    Hashtable myHashtable = (Hashtable) RuntimeStore.get (MY_DATA_ID, codeSigningKey); // в приложении B

  3. Уведомление между приложениями A и B может также облегчаться диспетчером уведомлений.

Итак, дайте нам знать, что именно вы пытаетесь достичь. Соответственно, мы можем направить вас к примерам кода.

0 голосов
/ 09 июня 2011

Хранилище времени выполнения может использоваться для обмена данными. Было бы лучше, если бы мы могли знать , когда - это также обмен данными. Вы можете использовать GlobalEventListener или Notification Manager для этой цели. Используя их, вы можете проявить интерес к получению определенных типов событий и зарегистрировать слушателя [так же, как слушатель действия на кнопке]. И когда такое событие происходит, вы можете прочитать данные из Runtime Store. Но обратный вызов самого Global Event Listener также может обеспечить обмен данными.

Надеюсь, это поможет.!

Вот пример для вас, чтобы проверить. На самом деле, это честный пример IPC, который действительно отвечает на ваш вопрос. Вы также можете подумать о безопасности данных, которыми вы якобы обмениваетесь.

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