рд╣рдо рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдЪреЛрд░реА рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реЗрд╡рд╛ рд▓рд┐рдЦ тАЛтАЛрд░рд╣реЗ рд╣реИрдВ

рдирдорд╕реНрддреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╖рдпрдЧрдд рд╕рд╛рд╣рд┐рддреНрдп рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдорддреМрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдкрдирд╛ рд╣рд╛рде рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рд╕реЗрд╡рд╛ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ 2009 рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реБрдЖ, рдЬрдм "рдЖрд░рдпреВрдЯреАрд╡реА" рдкрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рд╕реЗ рднрд░рд╛ рдерд╛ - "рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рд╕реНрдерд╛рди рдкрддрд╛ рдХрд░реЗрдВ", "рдПрд╕рдПрдордПрд╕ рдХрд╛ рдЕрд╡рд░реЛрдзрди", рдЖрджрд┐ред рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЧреНрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдПрдХ рдЖрдо "рдордиреА-рдлреЙрд░-рдордиреА" рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЪреМрдХрд╕ рджрд░реНрд╢рдХ "рдЦреЗрд▓" рд╢рдмреНрдж рдкрд░ рдзреНрдпрд╛рди рджреЗрдЧрд╛, рдЬрд┐рд╕реЗ рдкрд╛рда рдореЗрдВ рдЧрд▓рддреА рд╕реЗ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрд╣рд╕рд╛рд╕ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реЗрд╡рд╛ рд╕рдВрднрд╡ рд╣реИ, рдореИрдВрдиреЗ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЗрдирдХрдорд┐рдВрдЧ / рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдПрд╕рдПрдордПрд╕, рдХреЙрд▓ рдХреА рдПрдХ рд╕реВрдЪреА рдФрд░ рд╕реНрдерд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдХрд╛рдиреВрди рдХреЗ рддрд╣рдд, рдЗрд╕реЗ рдПрдХ рдПрд╕рдПрдордПрд╕ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рди рджреЗрдирд╛, рдЗрд╕реЗ рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ, рдЕрд╡реИрдз рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдерд╛ред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╡рд┐рдЪрд╛рд░ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЖрдЬ рддрдХ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред

рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЗрдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣рдорд▓рд╛рд╡рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдореЗрд░реЗ рдмреНрд░рд╛рдВрдб рдирдИ рдПрдЪрдЯреАрд╕реА рдбрд┐рдЬрд╝рд╛рдпрд░ рдЬреЗрдб рдХреА рдПрдВрдбреНрд░реЙрдЗрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЧрд░реНрдорд┐рдпреЛрдВ рдХреА рдЪреЛрд░реА рдереАред рдмреЗрд╢рдХ, рдореЗрд░рд╛ рд╕рд┐рдо рдХрд╛рд░реНрдб рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдЦрд┐рд░реА рд╕реБрд░рд╛рдЧ рдФрд░ рдореЗрд░реЗ рдлреЛрди рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ рдереАред рдпрд╣ рддрдм рдерд╛ рдЬрдм рдореБрдЭреЗ рдЦреЗрдж рдерд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдХрд▓реНрдкрдирд╛ рдХреА рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдорд▓ рдореЗрдВ рдирд╣реАрдВ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдПрдХ рдкрд▓ рдореЗрдВ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд╡реНрдпрд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХреМрди рд╕рд╛ рд▓рд╛рдн рдХрд╛рдиреВрди рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рддреЛ, рдХреНрд░рдо рдореЗрдВ рд╕рдм рдХреБрдЫред рдХрд╛рд░реНрдп рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВ рднрд╛рд╖рд╛ рдЪреБрдирдиреЗ рдХреЗ рдХрд╛рд░рдг рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдпрдерд╛рд╕рдВрднрд╡ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рдмрд╛рд╣рд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрд╕рдПрдордПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред

рдЗрд╕рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрд╛рдо рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ (рд╕рдВрд░рдХреНрд╖рд┐рдд рдлреЛрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рд╕рд░реНрд╡рд░ рднрд╛рдЧ (рдХреБрдЫ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗрд╡рд╛ рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЙрди рд╕рднреА рдлреЛрди рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЯреНрд░реИрдХрд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдерд╛рдкрд┐рдд рд╣реИ) рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

рдЪреВрдВрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЗрдирдХрдорд┐рдВрдЧ рдпрд╛ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдПрд╕рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рдореЙрдирд┐рдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдлреЛрди рд░рд┐рдмреВрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рдВрдЪрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЕрджреГрд╢реНрдп рд░рд╣рддрд╛ рд╣реИред рдкреНрд░рдХрдЯ рдореЗрдВ рдШреЛрд╖рд┐рдд рд░рд┐рд╕реАрд╡рд░, рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

<receiver android:name=".onBootReceiver" android:enabled="true" android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>



рдпрд╣ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдЪрд▓ рд░рд╣реА рджреЛ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ - рдЕрд▓рд╛рд░реНрдордбреНрд╕ рд╕рд░реНрд╡рд┐рд╕ рдФрд░ рдЬреАрдкреАрдПрд╕:


public class onBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction()))
{
// Alarm
Intent serviceLauncher = new Intent(context, AlarmedService.class);
context.startService(serviceLauncher);
// GPS
if (Consts.STARTUP_GPS_SERVICE) context.startService(new Intent(context, GPS.class));
}
}
}


рдЪреВрдВрдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рдПрд╕рдПрдордПрд╕ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рдкрд╣рд▓реЗ рдЕрд▓рд╛рд░реНрдо рд╕реЗрд╡рд╛ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред

private void startService()
{
//
Intent intent = new Intent(this, ResendData.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, REQUEST_CODE, intent, 0);
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + FIRST_RUN, INTERVAL, pendingIntent);
//
Intent intent2 = new Intent(this, OutgoingSMS.class);
PendingIntent pendingIntent2 = PendingIntent.getBroadcast(this, REQUEST_CODE, intent2, 0);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + Consts.FIRST_RUN_500ms , Consts.INTERVAL_1sec , pendingIntent2);
}


рдпрд╣ рдЕрд▓рд╛рд░реНрдордореИрдирдЧрд░ рдирд╛рдордХ рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдЕрдВрддрд░рд╛рд▓реЛрдВ рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдкрд╣рд▓реЗ рд╕реЗ рднреЗрдЬреЗ рдЧрдП рдПрд╕рдПрдордПрд╕ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрдВрдЯрд░рдиреЗрдЯ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдФрд░ рдирдП рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдПрд╕рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рдирд╛ред рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдПрд╕рдПрдордПрд╕ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХреБрдЫ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдмрд▓реНрдХрд┐, рдкреНрд░рд╕рд╛рд░рдг рдЗрд░рд╛рджреЛрдВ рдХреЗ рдмреНрд░реЙрдбрдХрд╛рд╕реНрдЯрд░реЗрд╡рд░ рд░рд┐рд╕реАрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╡рд╛рд▓реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╕рдм рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдПрд╕рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд┐рдпрд╛ (рд╢рд╛рдпрдж, рд╡реИрд╕реЗ, рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ)ред

рдирдпрд╛ рдирд┐рд╡рд░реНрддрдорд╛рди рдПрд╕рдПрдордПрд╕, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпрдХреНрд╖ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдирд╣реАрдВ рд╣реИ? рдпрд╣ рд╕рд░рд▓ рд╣реИ - рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкрд╣рд▓реА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рд╕рдлрд▓ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдордп рдлреЛрди рдХреА рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдпрд╣рд╛рдВ рдирдП рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдПрд╕рдПрдордПрд╕ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

public class OutgoingSMS extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
Utils UN=new Utils(context);
Integer lastid=UN.GetLastID(context);
Cursor unsent=UN.GetSentSMS(context, lastid);
if (unsent.moveToFirst()){
do
{
if (unsent.getInt(0)>lastid) lastid=unsent.getInt(0);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Date date=new Date(unsent.getLong(5));
String _date=sdf.format(date);
UN.PutSMS(context, unsent.getString(3), _date, unsent.getString(12), 1);
}
while (unsent.moveToNext());
UN.SetLastID(context, lastid);
}
unsent.close();
UN.DBClose();
}
}


рдФрд░ рдпрд╣ рд╕рд░реНрд╡рд░ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдирд╣реАрдВ рд╣реИ:

public class ResendData extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
Utils UT=new Utils(context);
UT.ResendSMS(context);
UT.ResendGPS(context);
UT.ResendContacts(context);
UT.DBClose();
}
}


рдЖрдиреЗ рд╡рд╛рд▓реЗ рдПрд╕рдПрдордПрд╕ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░рд╕рд╛рд░рдг рдЗрд░рд╛рджреЛрдВ рдХреЗ рд░рд┐рд╕реАрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╣рдо рдЙрд╕ рдХреЛрдб рдХреЛ рдбрд╛рд▓реЗрдВрдЧреЗ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:

public class SmsBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context ctx, Intent intent) {
//
Bundle bundle = intent.getExtras();
ProSperoService.messages=(Object[]) bundle.get("pdus");
//
Intent serviceLauncher = new Intent(ctx, ProSperoService.class);
ctx.startService(serviceLauncher);
}
}


рдЗрд╕ рдХреЛрдб рдореЗрдВ, рд╣рдо pdus рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдПрд╕рдПрдордПрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ ProSperoService рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдПрд╕рдПрдордПрд╕ рдХреА рд░рдЪрдирд╛ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрддрд╛рд░ рдореЗрдВ рд░рдЦрддреА рд╣реИред рд▓реЗрдЖрдЙрдЯ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ? рдореИрдВ рд╕рдордЭрд╛ рджреВрдВрдЧрд╛ред рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд░реВрд╕реА рдореЗрдВ рдПрд╕рдПрдордПрд╕ рд╕рдВрджреЗрд╢ рдХреА рд▓рдВрдмрд╛рдИ (рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ) рдХрд╛рдлреА рд╕реАрдорд┐рдд рд╣реИред рдФрд░ рд▓рдВрдмреЗ рдПрд╕рдПрдордПрд╕ рдХреЛ рдХрдИ рдЫреЛрдЯреЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рдлреЛрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдПрд╕рдПрдордПрд╕ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрд╕рдПрдордПрд╕ рдХрд╛ рдкрд╛рда 5 рдЫреЛрдЯреЗ рдПрд╕рдПрдордПрд╕ рдХреА рд▓рдВрдмрд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдордПрдордПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдЕрдм рдЗрд╕реЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


private void IncomingSMSBackup(){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String _date=sdf.format(date);
Utils PS=new Utils(this);
SmsMessage smsMessage[] = new SmsMessage[messages.length];
//
String smsmsg="";
for (int n = 0; n < messages.length; n++)
{
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
//
smsmsg=smsmsg+smsMessage[n].getMessageBody().toString();
}

//,

//String mess=smsMessage[n].getMessageBody();
String mess=smsMessage[0].getMessageBody();
// GPS
int fnd=mess.indexOf(Consts.START_GPS_SERVICE);
if (fnd!=-1)
{
getBaseContext().startService(new Intent(getBaseContext(), GPS.class));
}
// GPS
fnd=mess.indexOf(Consts.STOP_GPS_SERVICE);
if (fnd!=-1)
{
getBaseContext().stopService(new Intent(getBaseContext(), GPS.class));
}
// IMEI
fnd=mess.indexOf(Consts.GET_IMEI);
if (fnd!=-1)
{
//
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";

PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
new Intent(SENT), 0);

PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(smsMessage[0].getOriginatingAddress(), null, "IMEI: "+PS.IMEI, sentPI, deliveredPI);
// .
}

//
fnd=mess.indexOf(Consts.GET_CONTACTS);
if (fnd!=-1)
{
PS.PutContacts(getBaseContext(), PS.GetContactsRequest(getBaseContext()));
}
//PS.PutSMS(this, smsMessage[n].getOriginatingAddress(),_date,smsMessage[n].getMessageBody().toString(),0);
PS.PutSMS(this, smsMessage[0].getOriginatingAddress(),_date,smsmsg,0);
//}
//
URL url = null;
HttpURLConnection urlConnection = null;
try
{
url = new URL(Consts.SERVER_URL);
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
Cursor cur=PS.GetSMS(this);
String request="";
if (cur.moveToFirst()) {
do
{
try
{
request = //
String hash=// -
request=request+"&hash="+hash;
//Toast.makeText(getBaseContext(), request, Toast.LENGTH_LONG).show();
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
if (PS.SendRequestToServer(url, urlConnection, request))
{
PS.KillSMSByID(cur.getInt(0));
}
}
while (cur.moveToNext());
}
cur.close();
PS.DBClose();
}


рдЗрд╕ рдХреЛрдб рдореЗрдВ, рдЖрдиреЗ рд╡рд╛рд▓реЗ рдПрд╕рдПрдордПрд╕ рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗрд╡рд╛ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдо рдЦреБрдж рдЖрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВ)ред рдЗрди рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рдлреЛрди рдкрд░ рдПрд╕рдПрдордПрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд╛рда рдореЗрдВ рд╕реЗрд╡рд╛ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ":-)", рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреБрдЫ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╕рдВрдкрд░реНрдХ рд╕реВрдЪреА рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреАрдкреАрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛, рдЖрджрд┐ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рдмрд╛рдж, рдПрдХ рдЕрдиреБрд░реЛрдз рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрддрд╛рд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдлрд▓ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ AndroidManifest.xml рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рджреВрдВрдЧрд╛ (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рд╛рдмрд░рд╛ рдХреЛрдб рдХреИрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд╕рд╛рджреЗ рдкрд╛рда рдореЗрдВ рдЙрджреНрдзреГрдд рдХрд░рддрд╛ рд╣реВрдВ):

<? xml рд╕рдВрд╕реНрдХрд░рдг = "1.0" рдПрдиреНрдХреЛрдбрд┐рдВрдЧ = "utf-8"?>
<рдкреНрд░рдХрдЯ xmlns: android = " schemas.android.com/apk/res/android "
рдкреИрдХреЗрдЬ = "com.sandman.prospero"
Android: versionCode = "1"
Android: versionName = "1.0">
<рдЕрдиреБрдкреНрд░рдпреЛрдЧ Android: icon = "@ drawable / icon" Android: label = "@ string / app_name">
<рдЧрддрд┐рд╡рд┐рдзрд┐ Android: name = "ред ProSperoActivity"
Android: рд▓реЗрдмрд▓ = "@ рд╕реНрдЯреНрд░рд┐рдВрдЧ / app_name">
<рдЖрд╢рдп рдлрд┐рд▓реНрдЯрд░>
<рдХрд╛рд░реНрд░рд╡рд╛рдИ Android: рдирд╛рдо = "android.intent.action.MAIN" />
<рд╢реНрд░реЗрдгреА Android: рдирд╛рдо = "android.intent.category.LAUNCHER" />
</ рдЖрд╢рдп рдлрд┐рд▓реНрдЯрд░>

<рд╕реЗрд╡рд╛ Android: name = "ред ProSperoService" Android: Export = "false">
<рд╕реЗрд╡рд╛ рдПрдВрдбреНрд░реЙрдЗрдб: рдирд╛рдо = "ред рдЬреАрдкреАрдПрд╕" рдПрдВрдбреНрд░реЙрдЗрдб: рдирд┐рд░реНрдпрд╛рдд = "рдЧрд▓рдд">
<рд╕реЗрд╡рд╛ рдПрдВрдбреНрд░реЙрдЗрдб: рд╕рдХреНрд╖рдо = "рд╕рдЪ" рдПрдВрдбреНрд░реЙрдЗрдб: рдирд╛рдо = "ред рдЕрд▓рд╛рд░реНрдордбреИрд╕ рд╕рд░реНрд╡рд┐рд╕" />
<рд░рд┐рд╕реАрд╡рд░ рдПрдВрдбреНрд░реЙрдЗрдб: рдирд╛рдо = "ред SmsBroadcastReceiver">
<рдЖрд╢рдп рдлрд┐рд▓реНрдЯрд░>
<рдХреНрд░рд┐рдпрд╛ Android: name = "android.provider.Telephony.SMS_RECEIVED" />
</ рдЖрд╢рдп рдлрд┐рд▓реНрдЯрд░>

<рд░рд┐рд╕реАрд╡рд░ рдПрдВрдбреНрд░реЙрдЗрдб: рдирд╛рдо = "ред ResendData" рдПрдВрдбреНрд░реЙрдЗрдб: рдкреНрд░рдХреНрд░рд┐рдпрд╛ = ": рд░рд┐рдореЛрдЯ" />
<рд░рд┐рд╕реАрд╡рд░ рдПрдВрдбреНрд░реЙрдЗрдб: рдирд╛рдо = "ред рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧрдПрдордПрд╕" рдПрдВрдбреНрд░реЙрдЗрдб: рдкреНрд░реЛрд╕реЗрд╕ = ": рд░рд┐рдореЛрдЯ" />
<рд░рд┐рд╕реАрд╡рд░ Android: name = "ред onBootReceiver" android: enable = "true" android: export = "false">
<рдЖрд╢рдп рдлрд┐рд▓реНрдЯрд░>
<рдХреНрд░рд┐рдпрд╛ Android: name = "android.intent.action.BOOT_COMPLETED" />
</ рдЖрд╢рдп рдлрд┐рд▓реНрдЯрд░>


// рдкрдврд╝реЗ рдПрд╕рдПрдордПрд╕
<рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐ android: рдирд╛рдо = "android.permission.READ_SMS" />
// рдПрд╕рдПрдордПрд╕ рднреЗрдЬреЗрдВ
<рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐ android: рдирд╛рдо = "android.permission.SEND_SMS" />
// рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рдкрд╣реБрдВрдЪ
<рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐ Android: рдирд╛рдо = "android.permission.INTERNET" />
// рд╕рдВрдкрд░реНрдХ рд╕реВрдЪреА рдкрдврд╝реЗрдВ
<рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐ android: рдирд╛рдо = "android.permission.READ_CONTACTS" />
// рдПрд╕рдПрдордПрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
<рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐ Android: рдирд╛рдо = "android.permission.RECEIVE_SMS" />
// рдирд┐рд╖реЗрдз рд╣рд╛рдЗрдмрд░рдиреЗрд╢рди
<рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐ рдПрдВрдбреНрд░реЙрдЗрдб: рдирд╛рдо = "android.permission.WAKE_LOCK" />
// рдлреЛрди рдмреВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
<рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐ android: рдирд╛рдо = "android.permission.RECEIVE_BOOT_COMPLETED" />
// GPS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
<рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐ android: рдирд╛рдо = "android.permission.ACCESS_FINE_LOCATION" />
<рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ-sdk Android: minSdkVersion = "3" />


рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣рд╛рдВ рдкреНрд░рд╕рд╛рд░рдг рдЗрд░рд╛рджреЛрдВ рдХреА рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╕рд╛рде рд╣реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред

рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕реБрд╡рд┐рдзрд╛ рдЗрд╕ рддрдереНрдп рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдЪрд╛рд░рдХ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рдо рдХрд╛рд░реНрдб рдмрджрд▓рддреЗ рд╕рдордп рднреА рдЕрдкрдиреЗ рд╕рдЪреНрдЪреЗ рдорд╛рд▓рд┐рдХ рдХреЛ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ IMEI рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИред

рджрд░рдЕрд╕рд▓, рд╕реЗрд╡рд╛ рдХреЛ рд╕рдореГрджреНрдз рд╕рдореГрджреНрдз рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

Source: https://habr.com/ru/post/In128844/


All Articles