我该怎么办:Intent(this,FMXNativeActivity.class);没有导入FMXNativeActivity?

时间:2017-04-22 19:17:56

标签: java android android-intent

在清单中我有:

    <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吗?

2 个答案:

答案 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)