私はバックグラウンドスレッド(サービスアプリ)で実行されるAndroidアプリで作業しています。別のアプリからIntent(ACTION_SEND)を使って別のアプリからデータを受け取りたいアプリがバックグラウンド(サービスアプリ)で実行されているときにインテントを受信
アプリがバックグラウンドスレッドのときにインテントを受け取ることは可能ですか?
私はバックグラウンドスレッド(サービスアプリ)で実行されるAndroidアプリで作業しています。別のアプリからIntent(ACTION_SEND)を使って別のアプリからデータを受け取りたいアプリがバックグラウンド(サービスアプリ)で実行されているときにインテントを受信
アプリがバックグラウンドスレッドのときにインテントを受け取ることは可能ですか?
私はバックグラウンドスレッド(サービスアプリ)で実行されるAndroidアプリを開発中です。
アプリがバックグラウンドスレッドで実行されません。アプリがにのバックグラウンドスレッドを持っている可能性があります。
別のアプリからインテント(ACTION_SEND)を使って別のアプリからデータを受け取りたいとします。
ACTION_SEND
はあなたのアクティビティにルーティングされます。あなたの活動は、この時点でバックグラウンドスレッドを含む何かを行うことを歓迎します。アクティビティテーマにTheme.Translucent.NoTitleBar
を使用し、finish()
をonCreate()
の中にコールすると、アクティビティにUIがないことがあります。したがって、ユーザーの観点からは、たとえ実際に何が起こっていないとしても、ACTION_SEND
がバックグラウンドで処理されているように見えます。
"ACTION_SENDインテント"を受け取ったときに開始される、それ自体のGUIを持たないアクティビティを実装することができます。
マニフェスト
<manifest ...>
<application ...>
<activity android:name=".MyActionSendReceiver">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- file must have mimeType to match -->
<data android:mimeType="*/*" />
<data android:scheme="file" />
</intent-filter>
</activity>
</application>
</manifest>
public class MyActionSendReceiver extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean canWrite = SettingsImpl.init(this);
Intent mySendIntent = getIntent();
// TODO inform my running background service
// no gui has been created. finish this activity
this.finish();
}
}
:活動は、あなたのランニングバックグラウンドサービスを知らせることができます