Java Code Examples for android.content.ComponentName#getClassName()
The following examples show how to use
android.content.ComponentName#getClassName() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: VJobSchedulerService.java From container with GNU General Public License v3.0 | 6 votes |
@Override public int schedule(JobInfo job) throws RemoteException { int vuid = VBinder.getCallingUid(); int id = job.getId(); ComponentName service = job.getService(); JobId jobId = new JobId(vuid, service.getPackageName(), id); JobConfig config = mJobStore.get(jobId); if (config == null) { config = new JobConfig(mGlobalJobId++, service.getClassName(), job.getExtras()); mJobStore.put(jobId, config); } else { config.serviceName = service.getClassName(); config.extras = job.getExtras(); } saveJobs(); mirror.android.app.job.JobInfo.jobId.set(job, config.virtualJobId); mirror.android.app.job.JobInfo.service.set(job, mJobProxyComponent); return mScheduler.schedule(job); }
Example 2
Source File: DB.java From LaunchTime with GNU General Public License v3.0 | 6 votes |
public void deleteApp(ComponentName appname) { String actvname = appname.getClassName(); String pkgname = appname.getPackageName(); try { AppLauncher app = getApp(appname); if (app != null && (app.isLink() || app.isWidget())) { SQLiteDatabase db = this.getWritableDatabase(); db.delete(APP_TABLE, ACTVNAME + "=? and " + PKGNAME + "=?", new String[]{actvname, pkgname}); AppLauncher.removeAppLauncher(actvname,pkgname); return; } } catch (Exception e) { Log.e("LaunchDB", "Can't delete app " + actvname, e); } deleteApp(actvname, pkgname); }
Example 3
Source File: ServiceMonitoring.java From BTChat with GNU General Public License v3.0 | 6 votes |
/** * Check if specified service is running or not * @param context * @param cls name of service * @return boolean is running or not */ private static boolean isRunningService(Context context, Class<?> cls) { boolean isRunning = false; ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningServiceInfo> info = activityManager.getRunningServices(Integer.MAX_VALUE); if (info != null) { for(ActivityManager.RunningServiceInfo serviceInfo : info) { ComponentName compName = serviceInfo.service; String className = compName.getClassName(); if(className.equals(cls.getName())) { isRunning = true; break; } } } return isRunning; }
Example 4
Source File: ContextImpl.java From AndroidComponentPlugin with Apache License 2.0 | 6 votes |
private ComponentName startServiceCommon(Intent service, UserHandle user) { try { validateServiceIntent(service); service.prepareToLeaveProcess(this); ComponentName cn = ActivityManagerNative.getDefault().startService( mMainThread.getApplicationThread(), service, service.resolveTypeIfNeeded( getContentResolver()), getOpPackageName(), user.getIdentifier()); if (cn != null) { if (cn.getPackageName().equals("!")) { throw new SecurityException( "Not allowed to start service " + service + " without permission " + cn.getClassName()); } else if (cn.getPackageName().equals("!!")) { throw new SecurityException( "Unable to start service " + service + ": " + cn.getClassName()); } } return cn; } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } }
Example 5
Source File: ContextImpl.java From AndroidComponentPlugin with Apache License 2.0 | 6 votes |
@Override public ComponentName startServiceAsUser(Intent service, UserHandle user) { try { service.prepareToLeaveProcess(); ComponentName cn = ActivityManagerNative.getDefault().startService( mMainThread.getApplicationThread(), service, service.resolveTypeIfNeeded(getContentResolver()), user.getIdentifier()); if (cn != null) { if (cn.getPackageName().equals("!")) { throw new SecurityException( "Not allowed to start service " + service + " without permission " + cn.getClassName()); } else if (cn.getPackageName().equals("!!")) { throw new SecurityException( "Unable to start service " + service + ": " + cn.getClassName()); } } return cn; } catch (RemoteException e) { return null; } }
Example 6
Source File: DB.java From LaunchTime with GNU General Public License v3.0 | 6 votes |
public AppLauncher getApp(ComponentName appname) { String actvname = appname.getClassName(); String pkgname = appname.getPackageName(); AppLauncher appLauncher = null; SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(APP_TABLE, appcolumns, ACTVNAME + "=? and " + PKGNAME + "=?", new String[]{actvname, pkgname}, null, null, null); try { if (cursor.moveToNext()) { //ACTVNAME, PKGNAME, LABEL, CATID //pkgname = cursor.getString(1); String label = cursor.getString(cursor.getColumnIndex(LABEL)); String catID = cursor.getString(cursor.getColumnIndex(CATID)); boolean widget = cursor.getShort(cursor.getColumnIndex(ISWIDGET)) == 1; String customlabel = cursor.getString(cursor.getColumnIndex(CUSTOMLABEL)); // Log.d("LaunchDB", "getApp " + pkgname + " " + catID); appLauncher = AppLauncher.createAppLauncher(actvname, pkgname, customlabel==null?label:customlabel, catID, widget); } } finally { cursor.close(); } return appLauncher; }
Example 7
Source File: ContextImpl.java From AndroidComponentPlugin with Apache License 2.0 | 6 votes |
private ComponentName startServiceCommon(Intent service, UserHandle user) { try { validateServiceIntent(service); service.prepareToLeaveProcess(this); ComponentName cn = ActivityManagerNative.getDefault().startService( mMainThread.getApplicationThread(), service, service.resolveTypeIfNeeded( getContentResolver()), getOpPackageName(), user.getIdentifier()); if (cn != null) { if (cn.getPackageName().equals("!")) { throw new SecurityException( "Not allowed to start service " + service + " without permission " + cn.getClassName()); } else if (cn.getPackageName().equals("!!")) { throw new SecurityException( "Unable to start service " + service + ": " + cn.getClassName()); } } return cn; } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } }
Example 8
Source File: PluginStubBinding.java From PluginLoader with Apache License 2.0 | 6 votes |
public static void unBindLaunchModeStubActivity(String activityName, Intent intent) { if (activityName.startsWith(PluginStubBinding.STUB_ACTIVITY_PRE)) { if (intent != null) { ComponentName cn = intent.getComponent(); if (cn != null) { String pluginActivityName = cn.getClassName(); if (pluginActivityName.equals(singleTaskMapping.get(activityName))) { singleTaskMapping.put(activityName, null); } else if (pluginActivityName.equals(singleInstanceMapping.get(activityName))) { singleInstanceMapping.put(activityName, null); } else { //对于standard和singleTop的launchmode,不做处理。 } } } } }
Example 9
Source File: ContextImpl.java From AndroidComponentPlugin with Apache License 2.0 | 6 votes |
private ComponentName startServiceCommon(Intent service, UserHandle user) { try { validateServiceIntent(service); service.prepareToLeaveProcess(); ComponentName cn = ActivityManagerNative.getDefault().startService( mMainThread.getApplicationThread(), service, service.resolveTypeIfNeeded(getContentResolver()), user.getIdentifier()); if (cn != null) { if (cn.getPackageName().equals("!")) { throw new SecurityException( "Not allowed to start service " + service + " without permission " + cn.getClassName()); } else if (cn.getPackageName().equals("!!")) { throw new SecurityException( "Unable to start service " + service + ": " + cn.getClassName()); } } return cn; } catch (RemoteException e) { return null; } }
Example 10
Source File: ServicesHook.java From AdBlocker_Reborn with GNU General Public License v3.0 | 6 votes |
private void handleServiceStart(XC_MethodHook.MethodHookParam param, Intent serviceIntent) { if (serviceIntent != null) { ComponentName serviceName = serviceIntent.getComponent(); if (serviceName != null) { String packageName = serviceName.getPackageName(); String splitServicesName = serviceName.getClassName(); if (HookLoader.servicesList.contains(splitServicesName) && !PreferencesHelper.isWhitelisted(packageName) && !PreferencesHelper.whiteListElements().contains(splitServicesName)) { if (!PreferencesHelper.isDisableSystemApps()) { param.setResult(null); } else { try { ApplicationInfo info = ContextUtils.getSystemContext().getPackageManager().getApplicationInfo(packageName, 0); if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { param.setResult(null); } } catch (PackageManager.NameNotFoundException e) { return; } } LogUtils.logRecord("Service Block Success: " + serviceName.flattenToShortString()); } } } }
Example 11
Source File: DB.java From LaunchTime with GNU General Public License v3.0 | 6 votes |
public boolean appHasCustomLabel(ComponentName appname) { String actvname = appname.getClassName(); String pkgname = appname.getPackageName(); SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(APP_TABLE, new String [] {CUSTOMLABEL}, ACTVNAME + "=? and " + PKGNAME + "=?", new String[]{actvname, pkgname}, null, null, null); try { if (cursor.moveToNext()) { //ACTVNAME, PKGNAME, LABEL, CATID String customlabel = cursor.getString(cursor.getColumnIndex(CUSTOMLABEL)); if (customlabel!=null && !customlabel.isEmpty()) { return true; } } } finally { cursor.close(); } return false; }
Example 12
Source File: RePlugin.java From springreplugin with Apache License 2.0 | 5 votes |
/** * 开启一个插件的Activity <p> * 其中Intent的ComponentName的Key应为插件名(而不是包名),可使用createIntent方法来创建Intent对象 * * @param context Context对象 * @param intent 要打开Activity的Intent,其中ComponentName的Key必须为插件名 * @return 插件Activity是否被成功打开? * FIXME 是否需要Exception来做? * @see #createIntent(String, String) * @since 1.0.0 */ public static boolean startActivity(Context context, Intent intent) { // TODO 先用旧的开启Activity方案,以后再优化 ComponentName cn = intent.getComponent(); if (cn == null) { // TODO 需要支持Action方案 return false; } String plugin = cn.getPackageName(); String cls = cn.getClassName(); return PluginFactory.startActivityWithNoInjectCN(context, intent, plugin, cls, IPluginManager.PROCESS_AUTO); }
Example 13
Source File: RePluginInternal.java From springreplugin with Apache License 2.0 | 5 votes |
/** * 如果 replugin-host-lib 版本小于 2.1.3,使用此 compat 方法。 */ private static boolean startActivityForResultCompat(Activity activity, Intent intent, int requestCode, Bundle options) { String plugin = getPluginName(activity, intent); if (LogDebug.LOG) { LogDebug.d(TAG, "start activity with startActivityForResult: intent=" + intent); } if (TextUtils.isEmpty(plugin)) { return false; } ComponentName cn = intent.getComponent(); if (cn == null) { return false; } String name = cn.getClassName(); ComponentName cnNew = loadPluginActivity(intent, plugin, name, IPluginManager.PROCESS_AUTO); if (cnNew == null) { return false; } intent.setComponent(cnNew); if (Build.VERSION.SDK_INT >= 16) { activity.startActivityForResult(intent, requestCode, options); } else { activity.startActivityForResult(intent, requestCode); } return true; }
Example 14
Source File: PluginPackageInfo.java From Neptune with Apache License 2.0 | 5 votes |
/** * 查找能够响应这个Intent的Activity */ public ActivityInfo resolveActivity(Intent intent) { if (intent == null) { return null; } if (mActivityIntentInfos != null) { ComponentName compName = intent.getComponent(); String className = null; if (compName != null) { className = compName.getClassName(); } if (!TextUtils.isEmpty(className)) { ActivityIntentInfo act = mActivityIntentInfos.get(className); if (act != null) { return act.mInfo; } } else { for (ActivityIntentInfo info : mActivityIntentInfos.values()) { if (info != null && info.mFilter != null) { for (IntentFilter filter : info.mFilter) { if (filter.match(intent.getAction(), intent.getType(), intent.getScheme(), intent.getData(), intent.getCategories(), TAG) > 0) { return info.mInfo; } } } } } } return null; }
Example 15
Source File: LauncherActivity.java From Android-Plugin-Framework with MIT License | 5 votes |
private static String topActivity(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(1); if (list != null && list.size() > 0) { ComponentName cpn = list.get(0).topActivity; return cpn.getClassName(); } return null; }
Example 16
Source File: ActivityUtils.java From android-utilset with Apache License 2.0 | 5 votes |
/** * Returns Class name of top activity * @param context Context to provide activity information * @return String representing class name of top activity */ public static String getTopActivityClassName(Context context) { ComponentName activity = getTopActivity(context); if (activity == null) { return null; } return activity.getClassName(); }
Example 17
Source File: VAInstrumentation.java From VirtualAPK with Apache License 2.0 | 4 votes |
@Override public Activity newActivity(ClassLoader cl, String className, Intent intent) throws InstantiationException, IllegalAccessException, ClassNotFoundException { try { cl.loadClass(className); Log.i(TAG, String.format("newActivity[%s]", className)); } catch (ClassNotFoundException e) { ComponentName component = PluginUtil.getComponent(intent); if (component == null) { return newActivity(mBase.newActivity(cl, className, intent)); } String targetClassName = component.getClassName(); Log.i(TAG, String.format("newActivity[%s : %s/%s]", className, component.getPackageName(), targetClassName)); LoadedPlugin plugin = this.mPluginManager.getLoadedPlugin(component); if (plugin == null) { // Not found then goto stub activity. boolean debuggable = false; try { Context context = this.mPluginManager.getHostContext(); debuggable = (context.getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; } catch (Throwable ex) { } if (debuggable) { throw new ActivityNotFoundException("error intent: " + intent.toURI()); } Log.i(TAG, "Not found. starting the stub activity: " + StubActivity.class); return newActivity(mBase.newActivity(cl, StubActivity.class.getName(), intent)); } Activity activity = mBase.newActivity(plugin.getClassLoader(), targetClassName, intent); activity.setIntent(intent); // for 4.1+ Reflector.QuietReflector.with(activity).field("mResources").set(plugin.getResources()); return newActivity(activity); } return newActivity(mBase.newActivity(cl, className, intent)); }
Example 18
Source File: LauncherModel.java From LB-Launcher with Apache License 2.0 | 4 votes |
/** * Make an ShortcutInfo object for a shortcut that is an application. * * If c is not null, then it will be used to fill in missing data like the title and icon. */ public ShortcutInfo getShortcutInfo(PackageManager manager, Intent intent, UserHandleCompat user, Context context, Cursor c, int iconIndex, int titleIndex, HashMap<Object, CharSequence> labelCache, boolean allowMissingTarget) { if (user == null) { Log.d(TAG, "Null user found in getShortcutInfo"); return null; } ComponentName componentName = intent.getComponent(); if (componentName == null) { Log.d(TAG, "Missing component found in getShortcutInfo: " + componentName); return null; } Intent newIntent = new Intent(intent.getAction(), null); newIntent.addCategory(Intent.CATEGORY_LAUNCHER); newIntent.setComponent(componentName); LauncherActivityInfoCompat lai = mLauncherApps.resolveActivity(newIntent, user); if ((lai == null) && !allowMissingTarget) { Log.d(TAG, "Missing activity found in getShortcutInfo: " + componentName); return null; } final ShortcutInfo info = new ShortcutInfo(); // the resource -- This may implicitly give us back the fallback icon, // but don't worry about that. All we're doing with usingFallbackIcon is // to avoid saving lots of copies of that in the database, and most apps // have icons anyway. Bitmap icon = mIconCache.getIcon(componentName, lai, labelCache); // the db if (icon == null) { if (c != null) { icon = getIconFromCursor(c, iconIndex, context); } } // the fallback icon if (icon == null) { icon = mIconCache.getDefaultIcon(user); info.usingFallbackIcon = true; } info.setIcon(icon); // From the cache. if (labelCache != null) { info.title = labelCache.get(componentName); } // from the resource if (info.title == null && lai != null) { info.title = lai.getLabel(); if (labelCache != null) { labelCache.put(componentName, info.title); } } // from the db if (info.title == null) { if (c != null) { info.title = c.getString(titleIndex); } } // fall back to the class name of the activity if (info.title == null) { info.title = componentName.getClassName(); } info.itemType = LauncherSettings.Favorites.ITEM_TYPE_APPLICATION; info.user = user; info.contentDescription = mUserManager.getBadgedLabelForUser( info.title.toString(), info.user); return info; }
Example 19
Source File: SettingsActivity.java From AcDisplay with GNU General Public License v2.0 | 4 votes |
@Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); // Should happen before any call to getIntent() getMetaData(); final Intent intent = getIntent(); if (intent.hasExtra(EXTRA_UI_OPTIONS)) { getWindow().setUiOptions(intent.getIntExtra(EXTRA_UI_OPTIONS, 0)); } // Getting Intent properties can only be done after the super.onCreate(...) final String initialFragmentName = intent.getStringExtra(EXTRA_SHOW_FRAGMENT); mIsShortcut = isShortCutIntent(intent) || isLikeShortCutIntent(intent) || intent.getBooleanExtra(EXTRA_SHOW_FRAGMENT_AS_SHORTCUT, false); final ComponentName cn = intent.getComponent(); final String className = cn.getClassName(); boolean isShowingDashboard = className.equals(Settings2.class.getName()); // This is a "Sub Settings" when: // - this is a real SubSettings // - or :settings:show_fragment_as_subsetting is passed to the Intent final boolean isSubSettings = className.equals(SubSettings.class.getName()) || intent.getBooleanExtra(EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, false); // If this is a sub settings, then apply the SubSettings Theme for the ActionBar content insets if (isSubSettings) { // Check also that we are not a Theme Dialog as we don't want to override them /* final int themeResId = getTheme(). getThemeResId(); if (themeResId != R.style.Theme_DialogWhenLarge && themeResId != R.style.Theme_SubSettingsDialogWhenLarge) { setTheme(R.style.Theme_SubSettings); } */ } setContentView(R.layout.settings_main_dashboard); mContent = (ViewGroup) findViewById(android.R.id.content); getSupportFragmentManager().addOnBackStackChangedListener(this); if (savedState != null) { // We are restarting from a previous saved state; used that to initialize, instead // of starting fresh. setTitleFromIntent(intent); ArrayList<DashboardCategory> categories = savedState.getParcelableArrayList(SAVE_KEY_CATEGORIES); if (categories != null) { mCategories.clear(); mCategories.addAll(categories); setTitleFromBackStack(); } mDisplayHomeAsUpEnabled = savedState.getBoolean(SAVE_KEY_SHOW_HOME_AS_UP); } else { if (!isShowingDashboard) { mDisplayHomeAsUpEnabled = isSubSettings; setTitleFromIntent(intent); Bundle initialArguments = intent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS); switchToFragment(initialFragmentName, initialArguments, true, false, mInitialTitleResId, mInitialTitle, false); } else { mDisplayHomeAsUpEnabled = false; mInitialTitleResId = R.string.app_name; switchToFragment(DashboardFragment.class.getName(), null, false, false, mInitialTitleResId, mInitialTitle, false); } } ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(mDisplayHomeAsUpEnabled); actionBar.setHomeButtonEnabled(mDisplayHomeAsUpEnabled); } }
Example 20
Source File: ComplicationTapBroadcastReceiver.java From xDrip with GNU General Public License v3.0 | 2 votes |
/** * Returns the key for the shared preference used to hold the current state of a given * complication. */ static String getPreferenceKey(ComponentName provider, int complicationId) { return provider.getClassName() + complicationId; }