CommonsWare私はstartActivityForResult
を使用する必要がありました。次にonActivityResult
は、次回のアプリケーションの起動時に呼び出されます。ここに私がしたことがあります。上記の機能を実装するかの例を示しますしてくださいリソースを提供する方法については
@Override
public void onInstallClick() {
File file = new File(getActivity().getFilesDir(), mParameters.getPackageName() + ".apk");
if (!file.exists())
return;
Uri uri = FileProvider.getUriForFile(getActivity(), BuildConfig.APPLICATION_ID + ".provider", file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
startActivityForResult(intent, REQUEST_INSTALL);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_INSTALL) {
if (resultCode == Activity.RESULT_OK) {
File file = new File(getActivity().getFilesDir(), mParameters.getPackageName() + ".apk");
if (file.exists())
file.delete();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
https://developer.android.com/reference/android/content/Intent.html#EXTRA_RETURN_RESULT – CommonsWare
あなたは例を作るだろうか?私はそれを正しく使っているとは思わない。 –
https://gitlab.com/fdroid/fdroidclient/blob/833ae329e45905b36c60af9f8f11176d77df5280/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java - 基本的に、 'EXTRA_RETURN_RESULT'では、' startActivityForResult( ) 'と' onActivityResult() 'を呼び出すことができます(例えば、' ACTION_GET_CONTENT')。 – CommonsWare