在启动时启动air app app的可能方法

时间:2014-03-19 08:59:26

标签: android air

我正在开发一个应该在Android设备上运行的自助服务终端AIR应用程序,并且需要能够在启动时启用/禁用启动它。我和Android编程非常新,我知道可以在本机应用程序中执行此操作,但我想避免创建两个单独的应用程序 - 本机启动程序和具有主要逻辑的air应用程序。我宁愿在一个应用程序中拥有所有逻辑。 我正在考虑创建ANE库,但有人可以告诉我ANE是否能够处理BOOT_COMPLETED隐式意图?任何建议将受到高度赞赏。 感谢

1 个答案:

答案 0 :(得分:0)

以下是我使AIR应用程序在启动时启动的操作:

1)我将这些字符串添加到air application.xml:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application>
    <receiver android:name="com.extensionname.BootBroadCastReceiver">
        <intent-filter>
             <action android:name="android.intent.action.BOOT_COMPLETED"/>
             <category android:name="android.intent.category.MAIN" />
         </intent-filter>
    </receiver>
</application>

2)我创建了一个ANE,它有一个BootBroadCastReceiver类(一个BroadcastReceiver后继者),当调用onReceive时启动air app:

public void onReceive(Context context, Intent intent) {
    try{
        PackageManager pm = context.getPackageManager();
        Intent appStartIntent = pm.getLaunchIntentForPackage("air.appName");
        if (null != appStartIntent)
        {
          context.startActivity(appStartIntent);
        } else {
          Log.i("Error","Error launching air app: intent is null");
        }               
     } catch(Exception e){
        Log.i("Error", "Error launching air app");
     }
}

希望它能帮助别人。