如何创建单个应用程序实例

时间:2013-11-28 13:44:01

标签: android android-intent nfc intentfilter single-instance

我正在开发NFC应用程序。当我的应用程序已经打开并且我从NFC标签读取信息然后活动打开注册的Intent-Filter,这将打开一个已经打开的新应用程序实例。如何关闭先前的实例或打开以前的应用程序实例。

<activity android:name="com.tanzanite.realike.Fragments.MainActivity" android:screenOrientation="portrait"
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:noHistory="false">

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

请帮帮我,抱歉英文不好.. 在此先感谢。

2 个答案:

答案 0 :(得分:0)

当您想要在活动已经在前台时接收NFC标签发现事件时,您应该注册NFC前台调度系统。见Advanced NFC: Using the NFC Foreground Dispatch System。 (另见this question。)

答案 1 :(得分:-1)

步骤:1

创建一个类(例如BusinessModel),这个类扩展了Application。    该类在应用程序启动时加载一次。 第2步 在Android manifest.xml中

 <application
    android:name="package name.BusinessModel"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name="package name.StartActivity"
        android:label="@string/app_name"
        android:screenOrientation="sensorLandscape">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>