当前位置: 首页 > 知识库问答 >
问题:

NFC检测:启动活动或显示对话框

马泓
2023-03-14

我有一个主要活动,它在列表中显示一些数据,还有一个nfc asynctask,它从卡中读取一些数据。我想实现以下行为:

  1. 如果关闭应用程序并在手机附近放置卡,则应启动主要活动,同时启动nfc任务。异步任务的结果应显示在对话框中

我目前的方法总是从主要活动开始。这意味着,有时,我的主要活动有多个实例,当用户点击后退按钮时,会打开另一个活动实例,而不是切换到主菜单。

清单

<activity
    ...
    android:launchMode="singleTop">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <action android:name="android.nfc.action.TECH_DISCOVERED"/>
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <meta-data android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/filter_nfc"/>
</activity>

共有1个答案

莘钧
2023-03-14

看看Android的前台调度功能。如果您注册应用程序进行前台调度,您的活动将收到一个onNewIntent()事件,而不是第二次开始。

此外,我建议将TECH_DISCOVERED意图放在一个单独的意图过滤器中:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
    <action android:name="android.nfc.action.TECH_DISCOVERED" />
</intent-filter>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
           android:resource="@xml/filter_nfc" />
 类似资料:
  • 如果使用Android应用程序记录(AAR),则需要执行意图操作 所以我不知道这是正常发射还是nfc发射。 我需要在我的活动中做稍微不同的事情,无论活动是正常启动还是在nfc标签阅读之后启动。如果手机上有另一个应用具有相同的目的过滤器,我也不想显示选择应用的提示,例如:

  • 我正在开发一个运行在PC上的Java测试控制器应用程序。它有: 在android手机上安装应用程序: 怎么做有什么想法吗?

  • 我觉得我已经尝试了任何方法来让我的对话框填充屏幕的75%(宽度),当它开始的时候。它看起来总是很棒,但自从我升级到Android4.4后,我不能让我的对话框看起来“正常”,而是非常小。 null 这个问题快把我逼疯了...有什么建议吗?

  • 在我的Android应用程序中,我有一个主活动说m。这个活动使用Android的tabLayout小部件初始化四个选项卡。每个标签对应于一个片段,比如说F1、F2、F3、F4是四个片段。 从F2开始,我启动了一个活动,比如说C。但是当C启动时,我设备上的状态栏会闪烁片刻。我说的闪烁是指,最初它是黑色的。然后它会稍微褪色为白色,然后再次变暗。现在C启动了。当我尝试退出C时,返回到F2(通过按下导航返

  • 问题内容: 我试图使用此代码从我的主要活动中调用第二个活动 作为我的OrderSummaryActivity: 但是布局不会在此活动中显示,只是空白页。这是布局的xml: 有什么提示吗? 问题答案: 尝试将 OrderSummaryActivity.class 更改为:

  • 问题内容: 在添加异步任务之前,我已经对代码进行了一些更改,我的应用程序可以正常运行其远程服务器上的身份验证用户名和密码,但是在登录成功消息消失后​​无法启动其他活动。有人建议我现在添加一个异步任务,但是我输入正确的用户名和密码后它将停止工作。当我输入错误的用户名和密码时,其工作正常将显示错误的用户名密码消息。如果有人能够知道会出现什么错误,请帮助我。 码- 日志猫 QuestionnActivi