gpt4 book ai didi

android - 写入 NFC 标签后开始新 Activity

转载 作者:太空宇宙 更新时间:2023-11-03 12:16:42 30 4
gpt4 key购买 nike

我正在尝试在完成对 NFC 标签的写入操作后启动一个新的 activity。我尝试使用处理程序,但它不起作用,标签被成功写入,但处理程序没有启动它应该在写入操作后启动的 activity

private void formatTag(Tag tag, NdefMessage ndefMessage)
{
NdefFormatable ndefFormatable = NdefFormatable.get(tag);

if (ndefFormatable == null)
{
Toast.makeText(this, "Tag is not NDEF formatable", Toast.LENGTH_LONG).show();
return;
}

try
{
ndefFormatable.connect();
ndefFormatable.format(ndefMessage);
ndefFormatable.close();
Toast.makeText(this, "Tag has be written successfully!", Toast.LENGTH_LONG).show();
writeHandler.sendEmptyMessage(0);

}
catch (Exception e)
{
Log.e("formatTag: ", e.getMessage());
}


}

private Handler writeHandler = new Handler() {
public void handleMessage(Message msg) {
Intent nextActivity = new Intent(WriteCardActivity.this, MainActivity.class);
startActivityForResult(nextActivity, 0);
WriteCardActivity.this.finish();
}
};

这是 list

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.loyalty.cardplanet.membershipcard" >

<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.INTERNET"/>

<uses-feature
android:name="android.hardware.nfc"
android:required="false" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".RegisterActivity"
android:label="@string/title_activity_register" >
</activity>
<activity
android:name=".RedeemActivity"
android:label="@string/title_activity_redeem" >
</activity>
<activity
android:name=".PurchaseActivity"
android:label="@string/title_activity_purchase" >
</activity>
<activity
android:name=".ResetPinActivity"
android:label="@string/title_activity_reset_pin" >
</activity>
<activity
android:name=".WriteCardActivity"
android:label="@string/title_activity_write_card" >
</activity>
</application>

</manifest>

最佳答案

您的 MainActivity 上有一个 IntentFilter,因此 Intent 应该与 Activity 的 IntentFilter 匹配。

所以你应该这样开始你的 Activity :

Intent nextActivity = new Intent(WriteCardActivity.this, MainActivity.class);
nextActivity.setAction(Intent.ACTION_MAIN);
nextActivity.addCategory(Intent.CATEGORY_LAUNCHER);

startActivity(nextActivity);
WriteCardActivity.this.finish();

关于android - 写入 NFC 标签后开始新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32625438/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com