2016-02-04 3 views
1

У меня есть приложение, у которого есть таймер, который каждые х секунд меняет текст текстового комментария на случайное число.Извлечь информацию из функции, используемой в другом приложении Android

@Override      
public void run() { 
     TextView t = (TextView) findViewById(R.id.tv); 
     while(true){ 
      Random r = new Random(); 
      int i1 = (r.nextInt(805) + 650); 
      t.setText(i1.toString());                
      try { 
       Thread.sleep(i1); 
      }catch (Exception e) { 
       tv1.setText(e.toString()); 
      }   
     } 
}  

Мне нужно создать второе приложение, которое извлечения случайных чисел «i1» каждый раз, что это число генерируется (или каждый раз, что TextView измененный текст).

Возможно ли это каким-то образом?

+2

http://developer.android.com/intl/es/training/sharing/index.html – malarres

+0

Это настолько полезно, если вы можете разместить это как ответ и подать пример относительно моего конкретного случая? Я могу установить его так, как было решено таким образом –

ответ

2

Мне нужно создать второе приложение, которое извлекает случайное число «i1» каждый раз, когда генерируется этот номер (или каждый раз, когда текстовое изображение меняет текст).

Это означает две вещи:

  1. Пользователь не участвует в запросе, что данные совместно (например, там нет кнопки или панели действий пункт или что-нибудь)

  2. первое приложение должно подтолкнуть данные ко второму приложению (по сравнению со вторым приложением, потянув данные, поскольку оно не будет знать, когда данные были изменены)

Простейшим решением было бы для первого приложения отправить широковещательную рассылку via sendBroadcast(), которая подхвачена вторым приложением, используя a BroadcastReceiver. Первое приложение отправляет широковещательную передачу «каждый раз, когда генерируется этот номер (или каждый раз, когда текстовое изменение меняет текст)», поэтому второе приложение имеет последнее значение.

+0

Так что в нескольких словах это невозможно сделать без «сотрудничества» с первым приложением? –

+2

@AlessioTrecani: Не без вопросов безопасности и конфиденциальности. Приложения не могут следить за другими приложениями. Основной способ включения такого рода шпионажа - это приложение, реализующее «AccessibilityService», которое требует, чтобы пользователь вручную настраивал его в настройках. – CommonsWare

+0

О, это хорошая информация. Итак, если я включу AccessibilityService, я могу получить информацию в своем первом приложении? например, «прослушивание» (каким-то неизвестным образом) для этой функции .. и каждый раз, когда он называется, я могу получить случайное число? –

Смежные вопросы