【发布时间】:2013-09-04 17:40:59
【问题描述】:
我在 android 启动时启动应用程序时遇到问题,问题是如何将监听器放在清单中的“android.permission.RECEIVE_BOOT_COMPLETED”上(在 Flash 构建器的移动应用程序项目上)到本机扩展??
基本上在清单上我有这样的东西:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application>
<receiver android:enabled="true" android:name="EXTENSION_PACKAGE.application.receivers.ApplicationStartupReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
</application>
在本机方面:监听器应该是这样的:
package EXTENSION_PACKAGE;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.adobe.fre.FREContext;
import com.adobe.fre.FREFunction;
import com.adobe.fre.FREObject;
public class ApplicationStartupReceiver extends BroadcastReceiver implements FREFunction {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent serviceIntent = new Intent("com.myapp.MySystemService");
context.startService(serviceIntent);
}
}
@Override
public FREObject call(FREContext arg0, FREObject[] arg1) {
// TODO Auto-generated method stub
return null;
}
}
我的问题是:
- “EXTENSION_PACKAGE”是来自本机项目的包名称还是扩展 ID?
- “.application”是指应用程序还是我不需要它?
希望您能理解这种情况,并在此先感谢您。
------------------------------编辑-- --------------------------------------
经过几次尝试和测试,我改变了这些值:
<receiver android:enabled="true" android:name="NATIVEPROJECTPACKAGE.application.receiver.ApplicationStartupReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
还有:
Intent serviceIntent = new Intent("air.APPLICATION_ID"); // from the APPLICATION.XML
现在它似乎工作了,现在唯一的问题是它在 android 启动时崩溃,我收到一条警报:“不幸的是,应用程序 'APPLICATION NAME' 已停止” 当然,如果我启动应用程序,它就可以工作,...
【问题讨论】:
-
我的理解是在您的广播接收器中,您正在接收 BOOT_COMPLETED 意图并启动服务,您现在需要什么?对不起,如果我错过了重点
-
好吧,我不能为 BOOT_COMPLETED 设置接收器,因为清单在 flex 应用程序上,而监听器本身在本机端,因为我们不能用 flex 来做,
标签: java android actionscript-3 apache-flex air-native-extension