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