onActivityResult () не вызывается внутри действия - PullRequest
0 голосов
/ 08 января 2019

Я делаю приложение для записи, используя mediaprojection API из Службы, проблема в том, что я должен использовать onActivityResult (), поэтому я делаю это с помощью неотображаемого действия, но у меня есть проблема с тем, что onActivityResult () не вызывается. .

мой сервисный звонок:

private void openMainActivity() {
Intent mainIntent = new Intent(getContext(), MainActivity.class);
mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(mainIntent);
}

внутри класса деятельности:

public class MyActivity extends Activity {

@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(null);
mediaProjectionManager = (MediaProjectionManager)getContext().getSystemService(MEDIA_PROJECTION_SERVICE);
startActivityForResult(mediaProjectionManager.createScreenCaptureIntent(), 1);
    }

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

Log.d("Debugging" , "requestCode: "+requestCode+" , resultCode: "+resultCode+" , data: "+data);

if (requestCode == 1) {
    if (resultCode == Activity.RESULT_OK) {
        mediaProjection = mediaProjectionManager.getMediaProjection(resultCode, data);
        this.finish();
    }
 }
}

и в манифестах:

    <activity android:name=".MyActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoDisplay"
        android:excludeFromRecents="true"
        android:screenOrientation="portrait">
        >
    </activity>

что я должен сделать, чтобы вызвать onActivityResult ()

...