在清单中我有:
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" ... >
</activity>
<service android:name="me.myFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
和myFirebaseMessagingService位于专用jar
中现在的问题是,从myFirebaseMessagingService我想通过intent启动一个活动。通常我必须这样做:
import com.embarcadero.firemonkey.FMXNativeActivity;
Intent intent = new Intent(this, FMXNativeActivity.class);
然而,从jar内部我无法访问FMXNativeActivity的代码(因为jar将以通用方式使用)。
我该怎么办?我可以将<service ..></service>
内的活动名称设置为params吗?
答案 0 :(得分:0)
创建一个启动服务的广播接收器,当您想要调用服务时,只需通过适当的操作进行广播,这样广播接收器就可以启动服务
答案 1 :(得分:0)
在清单中为您的活动设置操作,并使用该操作从服务启动活动。
<强>的Manifest.xml 强>
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" ... >
<intent-filter>
<action android:name="com.example.foo.bar.YOUR_ACTION" />
</intent-filter>
</activity>
在您的服务中,
String CUSTOM_ACTION = "com.example.foo.bar.YOUR_ACTION";
Intent i = new Intent();
i.setAction(CUSTOM_ACTION);
startActivity(i)