@TargetApi(Build.VERSION_CODES.HONEYCOMB) @Override public void executeBadge(Context context, ComponentName componentName, int badgeCount) throws ShortcutBadgeException { Bundle extra = new Bundle(); extra.putInt("app_badge_count", badgeCount); context.getContentResolver().call(CONTENT_URI, "setAppBadgeCount", null, extra); }
@Override public void executeBadge(Context context, ComponentName componentName, int badgeCount) throws ShortcutBadgeException { Bundle localBundle = new Bundle(); localBundle.putString("package", context.getPackageName()); localBundle.putString("class", componentName.getClassName()); localBundle.putInt("badgenumber", badgeCount); context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, localBundle); }
@Override public void executeBadge(Context context, ComponentName componentName, int badgeCount) throws ShortcutBadgeException { Bundle extra = new Bundle(); extra.putInt("app_badge_count", badgeCount); extra.putString("app_badge_component_name", componentName.flattenToString()); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { context.getContentResolver().call( Uri.parse("content://com.android.launcher3.cornermark.unreadbadge"), "setAppUnreadCount", null, extra); } }
/** * Send request to OPPO badge content provider to set badge in OPPO home launcher. * * @param context the context to use * @param badgeCount the badge count */ @TargetApi(Build.VERSION_CODES.HONEYCOMB) private void executeBadgeByContentProvider(Context context, int badgeCount) throws ShortcutBadgeException { try { Bundle extras = new Bundle(); extras.putInt(INTENT_EXTRA_BADGEUPGRADE_COUNT, badgeCount); context.getContentResolver().call(Uri.parse(PROVIDER_CONTENT_URI), "setAppBadgeCount", null, extras); } catch (Throwable ignored) { throw new ShortcutBadgeException("Unable to execute Badge By Content Provider"); } } }
public static Bundle call(Context context, Uri uri, String method, String arg, Bundle extras) { if (VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) { return context.getContentResolver().call(uri, method, arg, extras); } ContentProviderClient client = crazyAcquireContentProvider(context, uri); Bundle res = null; try { res = client.call(method, arg, extras); } catch (RemoteException e) { e.printStackTrace(); } finally { releaseQuietly(client); } return res; }
@Test public void call_shouldCallProvider() { final String METHOD = "method"; final String ARG = "arg"; final Bundle EXTRAS = new Bundle(); final Uri uri = Uri.parse("content://" + AUTHORITY); ContentProvider provider = mock(ContentProvider.class); doReturn(null).when(provider).call(METHOD, ARG, EXTRAS); ShadowContentResolver.registerProviderInternal(AUTHORITY, provider); contentResolver.call(uri, METHOD, ARG, EXTRAS); verify(provider).call(METHOD, ARG, EXTRAS); }
ContentResolver cr = getContentResolver(); cr.call(DBProvider.CONTENT_URI, "myfunction", null, null);
@TargetApi(Build.VERSION_CODES.HONEYCOMB) @Override public Bundle call(String method, String arg, Bundle extras) { if (Build.VERSION.SDK_INT >= 19) { LogUtil.v("callingPackage = ", getCallingPackage()); } LogUtil.d("跨进程调用统计", "Thread id", Thread.currentThread().getId(), "name", Thread.currentThread().getName(), "method", method, "arg", arg); if (extras != null && extras.getParcelable(CALL_PROXY_KEY) != null) { Uri targetUrl = extras.getParcelable(CALL_PROXY_KEY); return getContext().getContentResolver().call(targetUrl, method, arg, extras); } return dispathToManager(method, arg, extras); }
return resolver.call(uri, method, arg, extras); } catch (Exception e) { LogUtil.e("call uri fail", uri, method, arg, extras);
public static Bundle call(ContentResolver cr, String method) { return cr.call(CONTENT_URI, method, null, null); } }
@TargetApi(Build.VERSION_CODES.HONEYCOMB) @Override public void executeBadge(Context context, ComponentName componentName, int badgeCount) throws ShortcutBadgeException { Bundle extra = new Bundle(); extra.putInt("app_badge_count", badgeCount); context.getContentResolver().call(CONTENT_URI, "setAppBadgeCount", null, extra); }
@Override public void executeBadge(Context context, ComponentName componentName, int badgeCount) throws ShortcutBadgeException { Bundle localBundle = new Bundle(); localBundle.putString("package", context.getPackageName()); localBundle.putString("class", componentName.getClassName()); localBundle.putInt("badgenumber", badgeCount); context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, localBundle); }
static String getSetting(Context context, int user, String category, String name) { Bundle args = new Bundle(); args.putInt("user", user); args.putString("category", category); args.putString("name", name); Bundle result = context.getContentResolver() .call(XProvider.getURI(), "xlua", "getSetting", args); return (result == null ? null : result.getString("value")); }
@Override public void run() { for (Bundle args : actions) context.getContentResolver() .call(XProvider.getURI(), "xlua", "assignHooks", args); } });
@Override public void executeBadge(Context context, ComponentName componentName, int badgeCount) throws ShortcutBadgeException { Bundle extra = new Bundle(); extra.putInt("app_badge_count", badgeCount); extra.putString("app_badge_component_name", componentName.flattenToString()); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { context.getContentResolver().call( Uri.parse("content://com.android.launcher3.cornermark.unreadbadge"), "setAppUnreadCount", null, extra); } }
static boolean isAvailable(Context context) { try { PackageInfo pi = context.getPackageManager().getPackageInfo(BuildConfig.APPLICATION_ID, 0); Bundle result = context.getContentResolver() .call(XProvider.getURI(), "xlua", "getVersion", new Bundle()); return (result != null && pi.versionCode == result.getInt("version")); } catch (Throwable ex) { Log.e(TAG, Log.getStackTraceString(ex)); XposedBridge.log(ex); return false; } }
@Override public void run() { Bundle args = new Bundle(); args.putStringArrayList("hooks", hookids); args.putString("packageName", app.packageName); args.putInt("uid", app.uid); args.putBoolean("delete", !assign); args.putBoolean("kill", app.forceStop); context.getContentResolver() .call(XProvider.getURI(), "xlua", "assignHooks", args); } });
static void putSetting(Context context, String category, String name, String value) { Bundle args = new Bundle(); args.putInt("user", Util.getUserId(Process.myUid())); args.putString("category", category); args.putString("name", name); args.putString("value", value); context.getContentResolver().call(XProvider.getURI(), "xlua", "putSetting", args); }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) public static Bundle call(ContentResolver resolver, ContentProviderClient client, Uri uri, String method, String arg, Bundle extras) throws Exception{ if(Utils.hasJellyBeanMR1()){ return client.call(method, arg, extras); } else{ return resolver.call(uri, method, arg, extras); } }
@Override public boolean onPreferenceChange(Preference preference, Object newValue) { Bundle extras = new Bundle(); extras.putBoolean(LauncherSettings.Settings.EXTRA_VALUE, (Boolean) newValue); getActivity().getContentResolver().call( LauncherSettings.Settings.CONTENT_URI, LauncherSettings.Settings.METHOD_SET_BOOLEAN, preference.getKey(), extras); return true; } }