Java Code Examples for android.app.Activity#getIntent()
The following examples show how to use
android.app.Activity#getIntent() .
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: IntentModule.java From react-native-GPay with MIT License | 6 votes |
/** * Return the URL the activity was started with * * @param promise a promise which is resolved with the initial URL */ @ReactMethod public void getInitialURL(Promise promise) { try { Activity currentActivity = getCurrentActivity(); String initialURL = null; if (currentActivity != null) { Intent intent = currentActivity.getIntent(); String action = intent.getAction(); Uri uri = intent.getData(); if (Intent.ACTION_VIEW.equals(action) && uri != null) { initialURL = uri.toString(); } } promise.resolve(initialURL); } catch (Exception e) { promise.reject(new JSApplicationIllegalArgumentException( "Could not get the initial URL : " + e.getMessage())); } }
Example 2
Source File: ActivityRecoveryHelper.java From Neptune with Apache License 2.0 | 6 votes |
void saveIcicle(Activity activity, Bundle icicle) { if (shouldIgnore(activity)) { return; } String id = UUID.randomUUID().toString(); Intent intent = activity.getIntent(); try { intent.putExtra(KEY_RECOVERY_ICICLE, id); mPendingIcicleMap.put(id, icicle); } catch (RuntimeException e) { // Intent里放置了插件自定义的序列化数据,进程重启时操作Intent会导致反序列数据失败 ErrorUtil.throwErrorIfNeed(e); } catch (OutOfMemoryError error) { // Intent反序列化时可能数据量很大发生OOM ErrorUtil.throwErrorIfNeed(error); } }
Example 3
Source File: WelcomePresenterImpl.java From HaoReader with GNU General Public License v3.0 | 6 votes |
@Override public void initData(Activity activity) { final Intent intent = activity.getIntent(); if (intent.getData() != null) { mView.onStartFromUri(); } else { // 避免从桌面启动程序后,会重新实例化入口类的activity if (!activity.isTaskRoot()) { final String intentAction = intent.getAction(); if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && intentAction != null && intentAction.equals(Intent.ACTION_MAIN)) { mView.finish(); return; } } if (mView.getPreferences().getBoolean(mView.getContext().getString(R.string.pk_default_read), false)) { openBookFromRecent(); } else { mView.onStartNormal(START_DELAY); } } }
Example 4
Source File: AppLinkData.java From Abelana-Android with Apache License 2.0 | 6 votes |
/** * Parses out any app link data from the Intent of the Activity passed in. * @param activity Activity that was started because of an app link * @return AppLinkData if found. null if not. */ public static AppLinkData createFromActivity(Activity activity) { Validate.notNull(activity, "activity"); Intent intent = activity.getIntent(); if (intent == null) { return null; } AppLinkData appLinkData = createFromAlApplinkData(intent); if (appLinkData == null) { String appLinkArgsJsonString = intent.getStringExtra(BUNDLE_APPLINK_ARGS_KEY); appLinkData = createFromJson(appLinkArgsJsonString); } if (appLinkData == null) { // Try regular app linking appLinkData = createFromUri(intent.getData()); } return appLinkData; }
Example 5
Source File: AppLinkData.java From KlyphMessenger with MIT License | 6 votes |
/** * Parses out any app link data from the Intent of the Activity passed in. * @param activity Activity that was started because of an app link * @return AppLinkData if found. null if not. */ public static AppLinkData createFromActivity(Activity activity) { Validate.notNull(activity, "activity"); Intent intent = activity.getIntent(); if (intent == null) { return null; } String appLinkArgsJsonString = intent.getStringExtra(BUNDLE_APPLINK_ARGS_KEY); // Try v2 app linking first AppLinkData appLinkData = createFromJson(appLinkArgsJsonString); if (appLinkData == null) { // Try regular app linking appLinkData = createFromUri(intent.getData()); } return appLinkData; }
Example 6
Source File: ReactNativeNotificationHubModule.java From react-native-azurenotificationhub with MIT License | 6 votes |
@Override public void onHostResume() { setIsForeground(true); Activity activity = getCurrentActivity(); if (activity != null) { Intent intent = activity.getIntent(); if (intent != null) { Bundle bundle = ReactNativeUtil.getBundleFromIntent(intent); if (bundle != null) { ReactNativeUtil.removeNotificationFromIntent(intent); bundle.putBoolean(KEY_REMOTE_NOTIFICATION_FOREGROUND, false); bundle.putBoolean(KEY_REMOTE_NOTIFICATION_USER_INTERACTION, true); bundle.putBoolean(KEY_REMOTE_NOTIFICATION_COLDSTART, true); ReactNativeNotificationsHandler.sendBroadcast( mReactContext, bundle, NOTIFICATION_DELAY_ON_START); } } } }
Example 7
Source File: FastLifecycleCallbacks.java From FastLib with Apache License 2.0 | 6 votes |
@Override public void onActivityDestroyed(Activity activity) { //横竖屏会重绘将状态重置 if (activity.getIntent() != null) { activity.getIntent().removeExtra(FastConstant.IS_SET_STATUS_VIEW_HELPER); activity.getIntent().removeExtra(FastConstant.IS_SET_NAVIGATION_VIEW_HELPER); activity.getIntent().removeExtra(FastConstant.IS_SET_CONTENT_VIEW_BACKGROUND); activity.getIntent().removeExtra(FastConstant.IS_SET_REFRESH_VIEW); activity.getIntent().removeExtra(FastConstant.IS_SET_TITLE_BAR_VIEW); } LoggerManager.i(TAG, "onActivityDestroyed:" + activity.getClass().getSimpleName() + ";isFinishing:" + activity.isFinishing()); FastStackUtil.getInstance().pop(activity, false); //清除下拉刷新代理FastRefreshDelegate FastDelegateManager.getInstance().removeFastRefreshDelegate(activity.getClass()); //清除标题栏代理类FastTitleDelegate FastDelegateManager.getInstance().removeFastTitleDelegate(activity.getClass()); //清除BasisHelper FastDelegateManager.getInstance().removeBasisHelper(activity); //回调给开发者实现自己应用逻辑 if (mActivityLifecycleCallbacks != null) { mActivityLifecycleCallbacks.onActivityDestroyed(activity); } }
Example 8
Source File: PluginInstrumentation.java From DroidPlugin with GNU Lesser General Public License v3.0 | 5 votes |
private void onActivityDestory(Activity activity) throws RemoteException { Intent targetIntent = activity.getIntent(); if (targetIntent != null) { ActivityInfo targetInfo = targetIntent.getParcelableExtra(Env.EXTRA_TARGET_INFO); ActivityInfo stubInfo = targetIntent.getParcelableExtra(Env.EXTRA_STUB_INFO); if (targetInfo != null && stubInfo != null) { PluginManager.getInstance().onActivityDestory(stubInfo, targetInfo); } } }
Example 9
Source File: PluginLibraryInternalProxy.java From springreplugin with Apache License 2.0 | 5 votes |
/** * @hide 内部方法,插件框架使用 * 插件的Activity的onCreate调用前调用此方法 * @param activity * @param savedInstanceState */ public void handleActivityCreateBefore(Activity activity, Bundle savedInstanceState) { if (LOG) { LogDebug.d(PLUGIN_TAG, "activity create before: " + activity.getClass().getName() + " this=" + activity.hashCode() + " taskid=" + activity.getTaskId()); } // 对FragmentActivity做特殊处理 if (savedInstanceState != null) { // savedInstanceState.setClassLoader(activity.getClassLoader()); // try { savedInstanceState.remove("android:support:fragments"); } catch (Throwable e) { if (LOGR) { LogRelease.e(PLUGIN_TAG, "a.c.b1: " + e.getMessage(), e); } } } // 对FragmentActivity做特殊处理 Intent intent = activity.getIntent(); if (intent != null) { intent.setExtrasClassLoader(activity.getClassLoader()); activity.setTheme(getThemeId(activity, intent)); } }
Example 10
Source File: BundleCompact.java From OkDeepLink with Apache License 2.0 | 5 votes |
private static Bundle getBundle(Activity activity) { if (activity == null || activity.getIntent() == null) { return null; } return activity.getIntent().getExtras(); }
Example 11
Source File: CCUtil.java From CC with Apache License 2.0 | 5 votes |
/** * 在组件类中通过{@link #navigateTo(CC, Class)}跳转页面后,可通过此方法快捷获取CC的callId */ public static String getNavigateCallId(@NonNull Activity activity) { Intent intent = activity.getIntent(); if (intent != null) { return intent.getStringExtra(EXTRA_KEY_CALL_ID); } return null; }
Example 12
Source File: RelayUtil.java From deltachat-android with GNU General Public License v3.0 | 5 votes |
public static @NonNull ArrayList<Uri> getSharedUris(Activity activity) { if (activity != null) { Intent i = activity.getIntent(); if (i != null) { ArrayList<Uri> uris = i.getParcelableArrayListExtra(SHARED_URIS); if (uris != null) return uris; } } return new ArrayList<>(); }
Example 13
Source File: MainActivityLayout.java From Camera2 with Apache License 2.0 | 5 votes |
public MainActivityLayout(Context context, AttributeSet attrs) { super(context, attrs); mSlop = ViewConfiguration.get(context).getScaledTouchSlop(); Activity activity = (Activity) context; Intent intent = activity.getIntent(); String action = intent.getAction(); mIsCaptureIntent = (MediaStore.ACTION_IMAGE_CAPTURE.equals(action) || MediaStore.ACTION_IMAGE_CAPTURE_SECURE.equals(action) || MediaStore.ACTION_VIDEO_CAPTURE.equals(action)); }
Example 14
Source File: ActivityLifecycle.java From AcgClub with MIT License | 5 votes |
@Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { //如果intent包含了此字段,并且为true说明不加入到list // 默认为false,如果不需要管理(比如不需要在退出所有activity(killAll)时,退出此activity就在intent加此字段为true) boolean isNotAdd = false; if (activity.getIntent() != null) { isNotAdd = activity.getIntent().getBooleanExtra(IS_NOT_ADD_ACTIVITY_LIST, false); } if (!isNotAdd) { mAppManager.addActivity(activity); } ActivityStackManager.getInstance().addActivity(activity); }
Example 15
Source File: Util.java From IslamicLibraryAndroid with GNU General Public License v3.0 | 5 votes |
public static void restartIfLocaleChanged(@NonNull Activity activity, boolean oldIsArabic) { final boolean isUpdatedLocaleArabic=isArabicUi(activity); if (isUpdatedLocaleArabic != oldIsArabic) { final Intent i = activity.getIntent(); activity.finish(); activity.startActivity(i); } }
Example 16
Source File: TrustedIntents.java From TrustedIntents with GNU Lesser General Public License v2.1 | 5 votes |
/** * Returns an {@link Intent} if the sending app is signed by one of * the trusted signing keys as set in {@link #addTrustedSigner(Class)}. * * @returns {@code null} if there is no {@code Intent} or if the * sender is not trusted. * @see #addTrustedSigner(Class) */ public Intent getIntentFromTrustedSender(Activity activity) { Intent intent = activity.getIntent(); String packageName = getCallingPackageName(activity); if (TextUtils.isEmpty(packageName)) { return null; } if (isPackageNameTrusted(packageName)) { return intent; } return null; }
Example 17
Source File: PluginActivityDelegate.java From Neptune with Apache License 2.0 | 4 votes |
/** * 在插件Activity的onCreate调用前调用该方法 */ void handleActivityOnCreateBefore(Activity activity, Bundle savedInstanceState) { if (PluginDebugLog.isDebug()) { PluginDebugLog.runtimeLog(TAG, "activity handleActivityOnCreateBefore() is called(): " + activity.getClass().getName()); } if (mPlugin == null) { // 通过插件的Intent再去查找一遍 String pkgName = IntentUtils.parsePkgNameFromActivity(activity); if (!TextUtils.isEmpty(pkgName)) { mPlugin = PluginManager.getPluginLoadedApkByPkgName(pkgName); } } ClassLoader cl = mPlugin != null ? mPlugin.getPluginClassLoader() : activity.getClassLoader(); // 修正Intent的ClassLoader,解决序列化的问题 Intent intent = activity.getIntent(); intent.setExtrasClassLoader(cl); IntentUtils.resetAction(intent); //恢复Intent的Action // 对FragmentActivity做特殊处理,不保留Fragment的恢复数据 if (savedInstanceState != null) { savedInstanceState.setClassLoader(cl); savedInstanceState.remove(SUPPORT_FRAGMENTS_TAG); savedInstanceState.remove(FRAGMENTS_TAG); } // 替换Application,不然插件内无法监听LifeCycle if (mPlugin != null) { ReflectionUtils.on(activity).setNoException("mApplication", mPlugin.getPluginApplication()); } // 再次确保Activity的Base Context已经被替换了 Context mBase = activity.getBaseContext(); if (mBase instanceof PluginContextWrapper) { PluginDebugLog.runtimeLog(TAG, "activity " + activity.getClass().getName() + " base context already be replaced"); } else if (mPlugin != null) { mBase = new PluginContextWrapper(mBase, mPlugin); // 反射替换mBase成员变量 ReflectionUtils.on(activity, ContextWrapper.class).set("mBase", mBase); ReflectionUtils.on(activity, ContextThemeWrapper.class).setNoException("mBase", mBase); } // 给LayoutInflater设置privateFactory LayoutInflaterCompat.setPrivateFactory(activity.getLayoutInflater()); // 修改Activity的ActivityInfo和主题信息 PluginActivityControl.changeActivityInfo(activity, activity.getClass().getName(), mPlugin); }
Example 18
Source File: PluginActivityRecoveryHelper.java From Neptune with Apache License 2.0 | 4 votes |
private boolean shouldIgnore(Activity activity) { return activity == null || activity.getIntent() == null; }
Example 19
Source File: RouterInject.java From grouter-android with Apache License 2.0 | 4 votes |
public static void inject(Activity activity) { Intent intent = activity.getIntent(); inject(activity, intent); }
Example 20
Source File: ShareCompat.java From guideshow with MIT License | 4 votes |
private IntentReader(Activity activity) { mActivity = activity; mIntent = activity.getIntent(); mCallingPackage = ShareCompat.getCallingPackage(activity); mCallingActivity = ShareCompat.getCallingActivity(activity); }