安卓如何自动执行检测到的NFC标签,无需再点确认

我用的软件是:macrodroid
手机是红米k50
做了一个小小的自动化nfc检测,但是每次执行都要点击“打开”

img

img

望采纳,谢谢!
1、可以使用Android的Foreground Dispatch系统来自动执行检测到的NFC标签,无需再点确认。Foreground Dispatch系统允许应用程序注册一个intent-filter,以便在检测到NFC标签时自动启动应用程序。应用程序可以使用PendingIntent类来定义要在检测到NFC标签时执行的操作。
2、要自动执行检测到的NFC标签,需要在应用中实现NFC标签的自动处理功能。

  1. 首先,需要在应用的AndroidManifest.xml文件中添加如下权限:
<uses-permission android:name="android.permission.NFC" />
  1. 然后,在应用中实现NFC标签的处理程序,例如:
public class MyNfcHandler extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
        nfcAdapter.enableForegroundDispatch(this, new Intent(this, MyNfcHandler.class), null, null);
    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
        // 在这里处理NFC标签
    }
}
  1. 最后,在应用的AndroidManifest.xml文件中添加如下intent-filter:
<activity android:name=".MyNfcHandler">
    <intent-filter>
        <action android:name="android.nfc.action.TAG_DISCOVERED" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

以上就是实现自动执行检测到的NFC标签的步骤,无需再点击确认按钮。

望采纳!!

弹出的通知,想自动化的点击:打开,按钮这个选项。

可通过应用实现 NotificationListener,以及使用 AccessbilityService 去组合使用。

NotificationListener 通知使用权限授权之后,可在这个 listener 里面获取当前系统通知栏内容,包括:打开按钮。

AccessbilityService 无障碍服务,可实现精准控件位置点击!!通过代码去点击这个打开按钮,实现不需要手去点击,打开按钮。。

为什么还需要 NotificationListener,因为需要知道通知内容,以及是哪个 app 弹出来的打开按钮。

要让Android自动执行检测到的NFC标签,您需要在应用程序中实现NFC标签的监听器,并在其中自动执行所需的操作。

1.在 AndroidManifest.xml 中声明NFC权限,并注册一个 IntentFilter 来捕获 NFC 标签的操作。

<uses-permission android:name="android.permission.NFC" />
 
 <activity ... >
    <intent-filter>
        <action android:name="android.nfc.action.TAG_DISCOVERED" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

2.在你的 activity 里实现 NfcAdapter.OnNdefPushCompleteCallback 和 NfcAdapter.CreateNdefMessageCallback

public class MainActivity extends AppCompatActivity implements NfcAdapter.OnNdefPushCompleteCallback,
        NfcAdapter.CreateNdefMessageCallback {
    @Override
    public NdefMessage createNdefMessage(NfcEvent event) {
        //在这里处理标签信息
        return null;
    }

    @Override
    public void onNdefPushComplete(NfcEvent event) {
        //在这里处理标签操作完成后的逻辑
    }
}

3.在 onCreate() 中启用NFC

NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (nfcAdapter != null && nfcAdapter.isEnabled()) {
    nfcAdapter.setNdefPushMessageCallback(this, this);
    nfcAdapter.setOnNdefPushCompleteCallback(this, this);
}

这样,当检测到NFC标签时,应用程序就会自动执行相应的操作,无需点击确认。

您可以通过以下步骤来实现自动执行检测到的NFC标签:
1.在Macrodroid中创建一个规则。
2.在触发器中选择NFC标签读取。
3.在操作中选择启动应用程序。
4.选择要自动启动的应用程序。
5.保存规则并启用它。
当检测到NFC标签时,Macrodroid将自动读取并启动选定的应用程序,无需再点确认。

如果想要实现检测到NFC标签后自动执行,不需要再点确认,您可以试试以下步骤:

打开设置,进入“系统”选项,然后选择“高级”
进入“开发者选项”,找到“默认操作”,并将其设置为“NFC标签检测”
使用您正在使用的软件macrodroid,配置一个规则,当检测到NFC标签时自动执行预先设置的操作。

旁观学习!

题主应该是想要问的是,如何使用这个软件,而不是开发一个软件。
您可以在Macrodroid中创建一个规则,选择NFC标签读取,然后关联相应的应用即可,这样后续就无需再点确认。

我不是没有设置,已经都设置好了,但是他检测到nfc的时候还需要自己点“打开”才执行,我是想问怎样不需要点击“打开”它就可以执行

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^