android - 如何在 fragment 中使用 onNewIntent(Intent intent) 方法?

标签 android android-activity fragment nfc

我正在尝试通过我的设备使用 NFC 硬件。但是,问题是当我注册 Activity 以接收 Intent 时:

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);

我在 Activity 而不是 Fragment 中收到结果。有没有办法在 Fragment 中处理这个结果?

提前致谢!

最佳答案

onNewIntent 属于 Activity,因此您不能将其包含在 fragment 中。你可以做的是在数据到达 onNewIntent 时将数据传递给你的 fragment ,前提是你有 fragment 的引用。

Fragment fragment;  
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);

    // Check if the fragment is an instance of the right fragment
    if (fragment instanceof MyNFCFragment) {
        MyNFCFragment my = (MyNFCFragment) fragment;
        // Pass intent or its data to the fragment's method
        my.processNFC(intent.getStringExtra());
    }

}

关于android - 如何在 fragment 中使用 onNewIntent(Intent intent) 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30043326/

相关文章:

android - Toast 的自定义动画进入/退出?

android - 如何在 Kotlin 的 fragment 内使用按钮在 fragment 之间切换?

Android fragment 生命周期 onStop、onDestroyView、onDestroy 和 onDetach

java - 如何创建一个单独的类来处理 android 常见任务,例如创建进度对话框?

java - 来自一个 fragment 的信息不会发送到另一 fragment

android - ICS 是否支持 android.app.Fragment?

android - 使用 AOSP 更改 dts 后如何在没有 make clean 的情况下构建?

android - 即使 Android 手机处于锁定模式/锁定屏幕时也启动 Activity

android - 观众网络 : Error 1203: The display format in the ad request does not match the display format specified for this placement

java - setContentView() 放在 onCreate() 的什么地方?