android 通过NFC打开应用

1、重点

2、源代码

manifest.xml
<?xml version="1.0" encoding="utf-8"?>

<uses-feature
      android:name="android.hardware.nfc"
        android:required="true" />
   <uses-permission android:name="android.permission.NFC" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.Life_pid">
    <activity android:name=".MainActivity">
        <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.TAG_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

    </activity>

</application>
MainActivity.java

package com.kingbright.life_pid;

import androidx.appcompat.app.AppCompatActivity;

import android.app.ActivityManager;
import android.app.KeyguardManager;
import android.content.Context;
import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.os.PowerManager;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

import java.util.List;

public class MainActivity extends AppCompatActivity {

NfcAdapter nfcAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // 获取默认的NFC控制器
    nfcAdapter = NfcAdapter.getDefaultAdapter(this);
    if (nfcAdapter == null) {
        Toast.makeText(getApplicationContext(), "设备不支持NFC!", Toast.LENGTH_LONG).show();
        System.out.println("设备不支持NFC!");
        finish();
        return;
    }
    if (!nfcAdapter.isEnabled()) {
        Toast.makeText(getApplicationContext(), "请在系统设置中先启用NFC功能!", Toast.LENGTH_LONG).show();
        System.out.println("请在系统设置中先启用NFC功能!");
        finish();
        return;
    }
    Toast.makeText(getApplicationContext(), "正常启用APP!", Toast.LENGTH_LONG).show();
    System.out.println("正常启用APP!");



}

}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android设备上,可以通过触碰NFC标签来打开应用程序。NFC(Near Field Communication,近场通信)是一种无线通信技术,它允许在非接触范围内进行短距离通信。Android设备通常具有内置的NFC芯片,用于支持此功能。 要实现通过触碰NFC标签打开应用程序,首先需要编写一个基于NFC的触发器,也称为Intent过滤器。在AndroidManifest.xml文件中,可以声明该Intent过滤器,以便在设备接收到与标签相关的NFC消息时,启动您的应用程序。 接下来,您需要为应用程序中的相应活动(Activity)添加一个Intent接收器。这样,当设备接收到与标签相关的NFC消息时,您的应用程序将被启动,并且设备上正在前台运行的活动将接收该消息。 在接收到NFC触摸事件后,您可以使用Intent对象中的信息来执行相应的操作。您可以从Intent对象中获取标签ID或其他信息,并针对这些数据执行合适的逻辑。例如,您可以根据标签ID从数据库中检索数据,并显示在应用程序中。 需要注意的是,为了让设备正确处理NFC操作,您需要确保设备开启了NFC功能,并且在应用程序的清单文件中正确配置了相关权限和过滤器。 通过使用NFC技术,您可以使Android设备能够通过触碰标签来启动应用程序。这种功能广泛应用于许多领域,如门禁系统、支付系统和数据传输等。同时,它也带来了更多创新和便利的可能性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值