Как смоделировать сенсорный тег из другого приложения

Я хочу смоделировать сенсорное событие для моего приложения. Мой манифест как

<activity
    android:name=".activity.TagActivity_"
    android:label="@string/app_name"
    android:launchMode="singleTask"
    android:noHistory="true"
    android:permission="android.permission.NFC"
    android:screenOrientation="portrait" >

    <intent-filter>
        <action android:name="android.nfc.action.TECH_DISCOVERED" />
    </intent-filter>
    <meta-data
        android:name="android.nfc.action.TECH_DISCOVERED"
        android:resource="@xml/nfc_tech_filter" />

    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED" />
        <category android:name="android.intent.category.DEFAULT" />
        <data
            android:host="ext"
            android:pathPrefix="/abc:d"
            android:scheme="vnd.android.nfc" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:mimeType="text/plain" />
    </intent-filter>
</activity>

Вопрос (1): я хочу вызвать свое приложение из другого приложения. Как я могу это сделать? Мой текущий код выглядит так:

try {
    final Intent intent = new Intent(NfcAdapter.ACTION_NDEF_DISCOVERED);
    NdefMessage ndefMessage = buildNdefMessage(getTagData());
    intent.putExtra(NfcAdapter.EXTRA_NDEF_MESSAGES, new NdefMessage[] {ndefMessage});
    startActivity(intent);
} catch (Exception e) {
    e.printStackTrace();
}

Но это не вызывает мое приложение. вероятно, потому что тип данных и префикс пути не совпадают. Как мне пройти это, начав упражнение?

Вопрос (2): Для временной цели я добавил

<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

чтобы заставить его работать, и мое приложение вызывается. Но во время чтения тега я проверяю тип тега, и, поскольку я не передаю какой-либо тип тега, мое приложение вылетает. Итак, как мне создать экземпляр тега? Для этого нет конструктора. Я имею в виду, я не могу сделатьNdef ndef = new Ndef();, И у меня нет метки, поэтому я не могу сделать событиеNdef ndef = Ndef.get(tag);.

Ответы на вопрос(1)

Ваш ответ на вопрос