рдпреВрдПрд╕рдПрд╕рдбреА (рдЕрдирд╕реНрдЯреНрд░рдХреНрдЪрд░реНрдб рд╕рдкреНрд▓реАрдореЗрдВрдЯреНрд░реА рд╕рд░реНрд╡рд┐рд╕ рдбреЗрдЯрд╛) рдЬреАрдПрд╕рдПрдо рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдПрдХ рдорд╛рдирдХ рд╕реЗрд╡рд╛ рд╣реИ, рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдФрд░ рдЫреЛрдЯреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рдореЛрдб рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмреАрдЪ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рд╕рдВрдкрд░реНрдХ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рдкрд╛рд╕ рдпреВрдПрд╕рдПрд╕рдбреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдКрдВрдЧрд╛ред
рдХрд┐рд╕реА рддрд░рд╣ рдореБрдЭреЗ рдХрдорд╛рдВрдб рднреЗрдЬрдиреЗ рдФрд░ рдпреВрдПрд╕рдПрд╕рдбреА рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпреВрдПрд╕рдПрд╕рдбреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмрдлрд╝рд░рдбрд┐рдпрд░ рдмрдлрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ рдФрд░ рдЗрд╕ рдмрдлрд░ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдпреВрдПрд╕рдПрд╕рдбреА рд╡рд░реНрдЧ рд╣реИред
рдпрд╣рд╛рдВ рдХреНрд▓рд╛рд╕ рдХреЛ рдЦреБрдж рд╣реА рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИредрдЕрдм рдХрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдПрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ AutoCompleteTextView, TextView, рдмрдЯрди рд╣реЛрдЧрд╛:
<! -? xml рд╕рдВрд╕реНрдХрд░рдг = "1.0" рдПрдиреНрдХреЛрдбрд┐рдВрдЧ = "utf-8"? ->
<linearlayout xmlns: android = "schemas.android.com/apk/res/android"
Android: рдУрд░рд┐рдПрдВрдЯреЗрд╢рди = "рд╡рд░реНрдЯрд┐рдХрд▓"
рдПрдВрдбреНрд░реЙрдЗрдб: рд▓реЗрдЖрдЙрдЯ_ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░ = "fill_parent"
Android: Layout_height = "fill_parent" >
<autocompletetextview
рдПрдВрдбреНрд░реЙрдЗрдб: рд▓реЗрдЖрдЙрдЯ_ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░ = "fill_parent"
Android: рдкрд╛рда = ""
Android: Layout_height = "wra_content"
Android: inputtype = "рдлрд╝реЛрди | рдЯреЗрдХреНрд╕реНрдЯрдпреВрд░реА"
Android: id = "@ + id / Text1" >
<requestfocus > </ requestfocus >
</ autocompletetextview >
<TextView
рдПрдВрдбреНрд░реЙрдЗрдб: рд▓реЗрдЖрдЙрдЯ_ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░ = "fill_parent"
Android: id = "@ + id / Text2"
Android: layout_height = "wra_content" >
</ textview >
<рдмрдЯрди
Android: рдкрд╛рда = "@ рд╕реНрдЯреНрд░рд┐рдВрдЧ / рднреЗрдЬреЗрдВ"
Android: id = "@ + id / рдмрдЯрди 1"
рдПрдВрдбреНрд░реЙрдЗрдб: рд▓реЗрдЖрдЙрдЯ_ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░ = "fill_parent"
Android: layout_height = "wra_content" >
</ рдмрдЯрди >
</ linearlayout >
рдпрд╣рд╛рдБ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ:

рдЕрдм рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЬреАрд╡рди рдореЗрдВ рд▓рд╛рдПрдВрдЧреЗ, рд╣рдо рдпреВрдПрд╕рдПрд╕рдбреА рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦреЗрдВрдЧреЗред
// рдореИрдВ рд╕рднреА рдЖрдпрд╛рдд рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рд▓рд┐рдЦреВрдВрдЧрд╛ рдХрд┐ рдпреВрдПрд╕рдПрд╕рдбреА рд╡рд░реНрдЧ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛
рдЖрдпрд╛рдд com.example.android.UssdMessage.USSD ;
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ UssdmessageActivity рдЧрддрд┐рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ OnClickListener {
/ ** рдЬрдм рдкрд╣рд▓реА рдмрд╛рд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рддреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред * /
рдирд┐рдЬреА рдкрд╛рда рджреГрд╢реНрдп ;
рдирд┐рдЬреА AutoCompleteTextView рдирдВрдмрд░ ;
рдЕрд╡рд╣реЗрд▓рдирд╛
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╢реВрдиреНрдп onCreate ( рдмрдВрдбрд▓ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛
рд╕реБрдкрд░ ред onCreate ( saveInstanceState ) ;
setContentView ( рдЖрд░ред рд▓реЗрдЖрдЙрдЯ рдореБрдЦреНрдп ) ;
рдмрдЯрди рдмрдЯрди = ( рдмрдЯрди ) findViewById ( R. id ред рдмрдЯрди 1 ) ;
рдмрдЯрдиред setOnClickListener ( рдпрд╣ ) ;
рдпрд╣ ред рджреГрд╢реНрдп = ( рдкрд╛рда рджреГрд╢реНрдп ) findViewById ( рдЖрд░ред рдЖрдИрдбреА ред Text2 ) ;
рдпрд╣ ред рдирдВрдмрд░ = ( AutoCompleteTextView ) findViewById ( R. id ред Text1 ) ;
}
рдЕрд╡рд╣реЗрд▓рдирд╛
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╢реВрдиреНрдп рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ( рджреЗрдЦреЗрдВ arg0 ) {
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдиреНрдХреЛрдбреЗрдб рд╣рд╢ = рдЙрдбрд╝реАред рд╕рд╛рдВрдХреЗрддрд┐рдХ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛ ( "#" ) ;
рдХреЙрд▓ ( " * " + рдирдВрдмрд░ред getText ( ) + encodedHash ) ;
рдпрд╣ ред рджреЗрдЦреЗрдВ ред рд╕реЗрдЯрдЯреЗрдХреНрд╕реНрдЯ ( "" ) ;
}
рд╕рдВрд░рдХреНрд╖рд┐рдд рд╢реВрдиреНрдп рдХреЙрд▓ ( рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлреЛрдирдирдВрдмрд░ ) {
рдХреЛрд╢рд┐рд╢ рдХрд░реЛ {
startActivityForResult (
рдирдпрд╛ рдЗрд░рд╛рджрд╛ ( "рдПрдВрдбреНрд░реЙрдЗрдбред рдЗрд░рд╛рджреЗ ред рдХрд╛рд░реНрд░рд╡рд╛рдИ ред рдХреЙрд▓ ", рдЙрд░реАред рдкрд╛рд░реНрд╕ ( "рдЯреЗрд▓ : "
+ рдлреЛрдирдирдВрдмрд░ ) ) , 1 ) ;
} рдкрдХрдбрд╝ ( рдЕрдкрд╡рд╛рдж eExcept ) {
рдпрд╣ ред рджреЗрдЦреЗрдВ ред append ( "nn" + "n" + eExcept .String ( ) ) ;
}
}
рдЕрд╡рд╣реЗрд▓рдирд╛
рд╕рдВрд░рдХреНрд╖рд┐рдд рд╢реВрдиреНрдп onActivityResult ( int requestCode, int resultCode, рдЖрд╢рдп рдбреЗрдЯрд╛ ) {
рдпреВрдПрд╕рдПрд╕рдбреА рдпреВрдПрд╕рдПрд╕рдбреА = рдирдпрд╛ рдпреВрдПрд╕рдПрд╕рдбреА ( 4000 , 4000 ) ; // рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдВрджреЗрд╢ рдХреЗ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ (рдПрдордПрд╕) рджреЗрд░реА
рдЕрдЧрд░ ( ussdред IsFound ( ) )
рдпрд╣ ред рджреЗрдЦреЗрдВ ред append ( "n" + ussdред getMsg ( ) ) ;
рдЕрдиреНрдпрдерд╛
рдпрд╣ ред рджреЗрдЦреЗрдВ ред append ( "" + R. string ред error_ussd_msg ) ;
}
}
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ (рдЕрдиреНрдпрдерд╛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛):
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> <uses-permission android:name="android.permission.CALL_PRIVILEGED"></uses-permission> <uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
рдЖрд╡реЗрджрди рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ:

рдореИрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд░реНрдЧ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓реЙрдЧрдХреИрдЯ рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдПрдХ рдЬрдЯрд┐рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
.apk рдлрд╝рд╛рдЗрд▓
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрд╕реНрд░реЛрдд
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ