Otwarte Przejrzyste działanie z usługi i użytkowania BroadcastReceiver w serwisie. Wykonaj szczegółowe instrukcje.
1. Otwarte aktywność przezroczysty z Serwisu
Intent i = new Intent(mContext, FloatingServiceSupportActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("action", "SpeechRegnition");
mContext.startActivity(i);
// Dla przejrzystego stosowania Działalność Ten kod w AndroidManifest.xml
<activity
android:name=".FloatingServiceSupportActivity"
android:theme="@style/Theme.Transparent" />
2. Tworzenie BroadcastReceiver w służbie
BroadcastReceiver brOnActivityResult = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO:
}
};
3. Zarejestruj tę transmisję w usłudzeUtwórz usługę
IntentFilter brintent = new IntentFilter();
brintent.addAction("brActionFloatingServiceOnActivityResult");
mContext.registerReceiver(brOnActivityResult, brintent);
4. Wyrejestruj Ta transmisja w onDestroy Służby
mContext.unregisterReceiver(brOnActivityResult);
5. działają aktywności za pomocą startActivityForResult i Wyślij transmisję z działalności za (FloatingServiceSupportActivity) onActivityResult
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Intent i = new Intent();
i.setAction("brActionFloatingServiceOnActivityResult");
i.putExtra("action", "initTextToSpeech");
mActivity.sendBroadcast(i);
mActivity.finish();
}
nie mam wypróbowany i nigdy nie próbowałem użyj onAtcivityResult w klasie Non-Activity jeszcze teraz ... – user1839514