рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ

рдХреНрдпрд╛ рдЖрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдереАрдо рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо, рдРрдб-рдСрди рд╡рд╛рд▓рд╛ рдЧреЗрдо рдпрд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди? рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВ? рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдКрдВрдЧрд╛ рдЬреЛ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред

рд╢рд╛рдпрдж рдЬреЛ рдпрд╣рд╛рдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рдмреИрд╕рд╛рдЦреА рд╣реИ, рд▓реЗрдХрд┐рди dev.android.com рдкрд░ рдФрд░ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ Google рдореЗрдВ рдореБрдЭреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЬреЛ рд▓реЛрдЧ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрдврд╝рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рддреБрд░рдВрдд рдХреЛрдб рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд┐рджреНрдзрд╛рдВрдд


рдЬрдм рдореИрдВ ADW рд▓реЙрдиреНрдЪрд░ рдереАрдо рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдореЙрдбреНрдпреВрд▓ рдореЗрдВ <intent-filter> <action> рдирд╛рдо рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ my.app.GET_DATA рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рд╣реЛрдЧрд╛, рдФрд░ рдЖрд╡реЗрджрди startActivity (startActivityForResult) рдФрд░ startIntentSender (startIntentSenderForResult) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдЧрд╛ред рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рдХрдИ <intent-filter> рдЯреИрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрднреНрдпрд╛рд╕


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

рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╡рд┐рдХрд▓реНрдк:
 // "mod.ul.ed.MODULES" - action    intent-filter' Intent call = new Intent("mod.ul.ed.MODULES"); startActivity(call); 
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдВрдбреНрд░реЙрдЗрдб рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдкреВрдЫреЗрдЧрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рдореЙрдбреНрдпреВрд▓ рдЦреЛрд▓рдирд╛ рд╣реИ рдФрд░, рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рдЖрдк рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЙрдбреНрдпреВрд▓ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рдпрд╣ рдЗрд╕реЗ рдЦреЛрд▓ рджреЗрдЧрд╛ред

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ (рдФрд░ рдЗрд╕рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрддрд┐рд╡рд┐рдзрд┐) рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 Intent call = new Intent("mod.ul.ed.MODULES"); // mod.ule.first -   // mod.ule.first.ActivityMain -  Activity   call.setClassName("mod.ule.first", "mod.ule.first.MainActivity"); startActivity(call); 
рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рднреА рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╢рдп рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, startIntentSenderForResult рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:
 Intent call = new Intent("mod.ul.ed.GET_TEXT"); //    ,         call.setClassName("mod.ule.first", "mod.ule.first.MainActivity"); IntentSender sender = PendingIntent.getActivity(getApplicationContext(), 1, call, 0).getIntentSender(); try { startIntentSenderForResult(sender, 1, call, 0, 0, 0); } catch (SendIntentException e) { } 
рдпрджрд┐ рдЖрдк startActivityForResult рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреВрд╕рд░реА рд╡рд┐рдВрдбреЛ (рдЧрддрд┐рд╡рд┐рдзрд┐) рдХреА рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИред

рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред PackageManager.queryIntentActivities (рдЗрд░рд╛рджреЗ рдЗрд░рд╛рджреЗ, рдЗрдВрдЯ рдЭрдВрдбреЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ:
 //   Activity,   action = "mod.ul.ed.MODULES" Intent intent = new Intent("mod.ul.ed.MODULES"); //    Activity List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, 0); 

рдЖрдЗрдП рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, AndroidManifest.xml рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП, рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдПрдБ рдЬреЛрдбрд╝реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, GET_TEXT рдХрд╛рд░реНрд░рд╡рд╛рдИ:
 <intent-filter> <action android:name="mod.ul.ed.GET_TEXT" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> 

рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдХреБрдЫ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 //  action if(getIntent().getAction().equals("mod.ul.ed.GET_TEXT")) { //   Intent data = new Intent(); data.putExtra("text", "This is first module"); setResult(RESULT_OK, data); //   finish(); //  Activity return; //    } 


[UPD] рдереАрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП getPackageManager () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдереАрдо рд╕рдВрд╕рд╛рдзрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ ред GetResourcesForApplication (...) рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдкрд░рд┐рдгрд╛рдо


рдпрд╣ рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рд╕рд░рд▓ рд╣реИред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рд┐рдВрдХ рдирд╣реАрдВ рджреЗрдЦрд╛ рдерд╛: рдЖрд╡реЗрджрди рдХреЛрдб рдФрд░ 2 рдореЙрдбреНрдпреВрд▓ рдХреЛ googlecode рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рдмреИрд╕рд╛рдЦреА рд╣реИред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЕрдзрд┐рдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдФрд░ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдкрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВред

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


All Articles