// instance of custom broadcast receiver CustomReceiver broadcastReceiver = new CustomReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addCategory(Intent.CATEGORY_DEFAULT); // set the custom action intentFilter.addAction("com.example.app.ACTION_PLAY"); // register the receiver registerReceiver(broadcastReceiver, intentFilter);
public class AndroidService extends IntentService { ... @Override public int onStartCommand(Intent intent, int flags, int startId) { IntentFilter filter = new IntentFilter(); filter.addAction("com.google.android.c2dm.intent.RECEIVE"); filter.addAction("com.google.android.c2dm.intent.REGISTRATION"); filter.addCategory("com.example.myapp"); this.registerReceiver(new MyC2dmReceiver(), filter, "com.google.android.c2dm.permission.SEND", null); return super.onStartCommand(intent,flags,startId); } public class MyC2dmReceiver extends BroadcastReceiver { ... } }
boolean isMyLauncherDefault() { final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN); filter.addCategory(Intent.CATEGORY_HOME); List<IntentFilter> filters = new ArrayList<IntentFilter>(); filters.add(filter); final String myPackageName = getPackageName(); List<ComponentName> activities = new ArrayList<ComponentName>(); final PackageManager packageManager = (PackageManager) getPackageManager(); // You can use name of your package here as third argument packageManager.getPreferredActivities(filters, activities, null); for (ComponentName activity : activities) { if (myPackageName.equals(activity.getPackageName())) { return true; } } return false; }
final String name = parser.getAttributeValue(null, "name"); if (name != null) { intentFilter.addCategory(name);
@Test public void addIntentFilterForComponent() throws Exception { ComponentName testComponent = new ComponentName("package", "name"); IntentFilter intentFilter = new IntentFilter("ACTION"); intentFilter.addCategory(Intent.CATEGORY_DEFAULT); intentFilter.addCategory(Intent.CATEGORY_APP_CALENDAR); shadowPackageManager.addActivityIfNotPresent(testComponent); shadowPackageManager.addIntentFilterForActivity(testComponent, intentFilter); Intent intent = new Intent(); intent.setAction("ACTION"); assertThat(intent.resolveActivity(packageManager)).isEqualTo(testComponent); intent.setPackage("package"); assertThat(intent.resolveActivity(packageManager)).isEqualTo(testComponent); intent.addCategory(Intent.CATEGORY_APP_CALENDAR); assertThat(intent.resolveActivity(packageManager)).isEqualTo(testComponent); intent.putExtra("key", "value"); assertThat(intent.resolveActivity(packageManager)).isEqualTo(testComponent); intent.setData(Uri.parse("content://boo")); // data matches only if it is in the filter assertThat(intent.resolveActivity(packageManager)).isNull(); intent.setData(null).setAction("BOO"); // different action assertThat(intent.resolveActivity(packageManager)).isNull(); }
@Test public void testGetPreferredActivities() throws Exception { final String packageName = "com.example.dummy"; ComponentName name = new ComponentName(packageName, "LauncherActivity"); // Setup an intentfilter and add to packagemanager IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN); filter.addCategory(Intent.CATEGORY_HOME); packageManager.addPreferredActivity(filter, 0, null, name); // Test match List<IntentFilter> filters = new ArrayList<>(); List<ComponentName> activities = new ArrayList<>(); int filterCount = packageManager.getPreferredActivities(filters, activities, null); assertThat(filterCount).isEqualTo(1); assertThat(activities.size()).isEqualTo(1); assertThat(activities.get(0).getPackageName()).isEqualTo(packageName); assertThat(filters.size()).isEqualTo(1); filterCount = packageManager.getPreferredActivities(filters, activities, "other"); assertThat(filterCount).isEqualTo(0); }
@Test public void resolveActivity_preferred() { ComponentName preferredName = new ComponentName("preferred", "LauncherActivity"); ComponentName otherName = new ComponentName("other", "LauncherActivity"); Intent homeIntent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME); shadowPackageManager.setResolveInfosForIntent( homeIntent, ImmutableList.of( ShadowResolveInfo.newResolveInfo( "label1", otherName.getPackageName(), otherName.getClassName()), ShadowResolveInfo.newResolveInfo( "label2", preferredName.getPackageName(), preferredName.getClassName()))); ResolveInfo resolveInfo = packageManager.resolveActivity(homeIntent, 0); assertThat(resolveInfo.activityInfo.packageName).isEqualTo(otherName.getPackageName()); // Setup an intentfilter and add to packagemanager IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN); filter.addCategory(Intent.CATEGORY_HOME); packageManager.addPreferredActivity(filter, 0, null, preferredName); resolveInfo = packageManager.resolveActivity(homeIntent, 0); assertThat(resolveInfo.activityInfo.packageName).isEqualTo(preferredName.getPackageName()); }
if (categories != null) { for (String cat : categories) { filter.addCategory(cat); filter.addCategory(Intent.CATEGORY_DEFAULT);
PackageManager pm = getPackageManager(); IntentFilter filter = new IntentFilter(); filter.addAction("android.intent.action.MAIN"); filter.addCategory("android.intent.category.HOME"); filter.addCategory("android.intent.category.DEFAULT"); Context context = getApplicationContext(); ComponentName component = new ComponentName(context.getPackageName(), TestReplaceHomeAppActivity.class.getName()); ComponentName[] components = new ComponentName[] {new ComponentName("com.android.launcher", "com.android.launcher.Launcher"), component}; pm.clearPackagePreferredActivities("com.android.launcher"); pm.addPreferredActivity(filter, IntentFilter.MATCH_CATEGORY_EMPTY, components, component);
private void registerFastdexReceiver(Application application) { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(FastdexReceiver.FASTDEX_RECEIVER_ACTION); intentFilter.addCategory(application.getPackageName()); application.registerReceiver(new FastdexReceiver(),intentFilter); }
public class SomeActivity extends Activity { private ResponseReceiver receiver; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); IntentFilter filter = new IntentFilter(ResponseReceiver.ACTION_RESP); filter.addCategory(Intent.CATEGORY_DEFAULT); receiver = new ResponseReceiver(); registerReceiver(receiver, filter); ... }
IntentFilter filter = new IntentFilter(PostBroadcastReceiver.ACTION_RESPONSE); filter.addCategory(Intent.CATEGORY_DEFAULT); receiver = new PostResponseReceiver(this); registerReceiver(receiver, filter);
final PackageManager pm = getActivity().getPackageManager(); final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN); filter.addCategory(Intent.CATEGORY_LAUNCHER); List<IntentFilter> outFilters = new ArrayList<IntentFilter>(); outFilters.add(filter); List<ComponentName> outActivities = new ArrayList<ComponentName>(); pm.getPreferredActivities(outFilters, outActivities, null);
// Register the broadcast receiver IntentFilter filter = new IntentFilter(); filter.addAction(StatusReceiver.ACTION_STATUS); filter.addAction(StatusReceiver.ACTION_RESULT); filter.addCategory(Intent.CATEGORY_DEFAULT); receiver = new StatusReceiver(); registerReceiver(receiver, filter);
IntentFilter filter = new IntentFilter(); filter.addAction("android.intent.action.VIEW"); filter.addCategory("android.intent.category.DEFAULT"); filter.addDataScheme("http"); Context context = getApplicationContext(); ComponentName component = new ComponentName("com.opera.mini.XXX", "com.opera.mini.XXX.CustomerBrowser"); ComponentName[] components = new ComponentName[] {new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"), component}; pm.addPreferredActivity(filter, IntentFilter.MATCH_CATEGORY_SCHEME, components, component);
public void testMakeCall(){ IntentFilter filter = new IntentFilter(Intent.ACTION_CALL); filter.addCategory(Intent.CATEGORY_DEFAULT); filter.addDataScheme("tel"); ActivityMonitor activityMonitor = getInstrumentation().addMonitor(filter, null, false); makeCall(); assertTrue(activityMonitor.getHits() == 1); }
PackageManager pm = getPackageManager(); IntentFilter filter = new IntentFilter(); filter.addAction("android.intent.action.MAIN"); filter.addCategory("android.intent.category.HOME"); filter.addCategory("android.intent.category.DEFAULT"); Context context = getApplicationContext(); ComponentName component = new ComponentName(context.getPackageName(), TestReplaceHomeAppActivity.class.getName()); ComponentName[] components = new ComponentName[] {new ComponentName("com.android.launcher", "com.android.launcher.Launcher"), component}; pm.clearPackagePreferredActivities("com.android.launcher"); pm.addPreferredActivity(filter, IntentFilter.MATCH_CATEGORY_EMPTY, components, component);
@Override protected void onResume() { super.onResume(); IntentFilter filter = new IntentFilter(ACTION_RCV_MESSAGE); filter.addCategory(Intent.CATEGORY_DEFAULT); receiver = new MessageReceiver(); registerReceiver(receiver, filter); } @Override protected void onPause() { super.onPause(); unregisterReceiver(receiver); }
IntentFilter intentFilter = new IntentFilter("com.example.action.VIEW"); intentFilter.addDataScheme("myschema"); intentFilter.addCategory(Intent.CATEGORY_BROWSABLE); Context.registerReceiver(new MyBroadcastReceiver(), intentFilter);
public void setup() { // register this handler as a receive filter IntentFilter flt = new IntentFilter(Plugin.IDENTIFY); // flt.addCategory(Plugin.REQUEST); flt.addCategory(Plugin.RESPONSE); getContext().registerReceiver(receiver, flt); // trigger plugin search identifyPlugins(); }