Commit 202f556b authored by fallenstardust's avatar fallenstardust

更改权限申请提示位置

parent 6d2357eb
...@@ -97,16 +97,13 @@ public class BaseActivity extends AppCompatActivity { ...@@ -97,16 +97,13 @@ public class BaseActivity extends AppCompatActivity {
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
if (Build.VERSION.SDK_INT<Build.VERSION_CODES.M|| !startPermissionsActivity()){
onActivityResult(REQUEST_PERMISSIONS,PermissionsActivity.PERMISSIONS_GRANTED,null);
}
} }
public Resources getResources() { public Resources getResources() {
Resources res = super.getResources(); Resources res = super.getResources();
Configuration config=new Configuration(); Configuration config = new Configuration();
config.setToDefaults(); config.setToDefaults();
res.updateConfiguration(config,res.getDisplayMetrics()); res.updateConfiguration(config, res.getDisplayMetrics());
return res; return res;
} }
...@@ -311,7 +308,7 @@ public class BaseActivity extends AppCompatActivity { ...@@ -311,7 +308,7 @@ public class BaseActivity extends AppCompatActivity {
toast.show(); toast.show();
} }
public static void showLinkArrows(Card cardInfo, View view){ public static void showLinkArrows(Card cardInfo, View view) {
String lk = Integer.toBinaryString(cardInfo.Defense); String lk = Integer.toBinaryString(cardInfo.Defense);
String Linekey = String.format("%09d", Integer.parseInt(lk)); String Linekey = String.format("%09d", Integer.parseInt(lk));
for (int i = 0; i < ids.length; i++) { for (int i = 0; i < ids.length; i++) {
......
...@@ -6,6 +6,7 @@ import android.content.DialogInterface; ...@@ -6,6 +6,7 @@ import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings; import android.provider.Settings;
...@@ -15,6 +16,8 @@ import androidx.appcompat.app.AppCompatActivity; ...@@ -15,6 +16,8 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.bumptech.glide.GenericTranscodeRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -66,6 +69,7 @@ public class PermissionsActivity extends AppCompatActivity { ...@@ -66,6 +69,7 @@ public class PermissionsActivity extends AppCompatActivity {
dialog.setLeftButtonListener((dlg, i) -> { dialog.setLeftButtonListener((dlg, i) -> {
isRequireCheck = true; isRequireCheck = true;
doPermission(); doPermission();
jumpToRequestInstallPackage();
dialog.dismiss(); dialog.dismiss();
}); });
dialog.show(); dialog.show();
...@@ -184,6 +188,12 @@ public class PermissionsActivity extends AppCompatActivity { ...@@ -184,6 +188,12 @@ public class PermissionsActivity extends AppCompatActivity {
intent.setData(Uri.parse(PACKAGE_URL_SCHEME + getPackageName())); intent.setData(Uri.parse(PACKAGE_URL_SCHEME + getPackageName()));
startActivity(intent); startActivity(intent);
} }
public void jumpToRequestInstallPackage() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && !this.getPackageManager().canRequestPackageInstalls()) {
getApplicationContext().startActivity(new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, Uri.parse("package" + this.getPackageName())));
}
}
} }
/** /**
......
...@@ -26,6 +26,7 @@ import cn.garymb.ygomobile.YGOMobileActivity; ...@@ -26,6 +26,7 @@ import cn.garymb.ygomobile.YGOMobileActivity;
import cn.garymb.ygomobile.YGOStarter; import cn.garymb.ygomobile.YGOStarter;
import cn.garymb.ygomobile.core.IrrlichtBridge; import cn.garymb.ygomobile.core.IrrlichtBridge;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.activities.PermissionsActivity;
import cn.garymb.ygomobile.ui.activities.WebActivity; import cn.garymb.ygomobile.ui.activities.WebActivity;
import cn.garymb.ygomobile.ui.plus.DialogPlus; import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.ui.plus.VUiKit; import cn.garymb.ygomobile.ui.plus.VUiKit;
...@@ -158,12 +159,16 @@ public class MainActivity extends HomeActivity { ...@@ -158,12 +159,16 @@ public class MainActivity extends HomeActivity {
}); });
dlgpls.setRightButtonText(R.string.deck_restore); dlgpls.setRightButtonText(R.string.deck_restore);
dlgpls.setRightButtonListener((dlg, i) -> { dlgpls.setRightButtonListener((dlg, i) -> {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M || !startPermissionsActivity()) {
onActivityResult(REQUEST_PERMISSIONS, PermissionsActivity.PERMISSIONS_GRANTED, null);
}
try { try {
FileUtils.copyDir(ORI_DECK, AppsSettings.get().getDeckDir(), false); FileUtils.copyDir(ORI_DECK, AppsSettings.get().getDeckDir(), false);
} catch (Throwable e) { } catch (Throwable e) {
Toast.makeText(MainActivity.this, e + "", Toast.LENGTH_SHORT).show(); Toast.makeText(MainActivity.this, e + "", Toast.LENGTH_SHORT).show();
} }
Toast.makeText(MainActivity.this, R.string.done, Toast.LENGTH_SHORT).show(); Toast.makeText(MainActivity.this, R.string.done, Toast.LENGTH_SHORT).show();
dlgpls.dismiss(); dlgpls.dismiss();
}); });
dlgpls.show(); dlgpls.show();
......
package cn.garymb.ygomobile.ui.preference; package cn.garymb.ygomobile.ui.preference;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.activities.BaseActivity; import cn.garymb.ygomobile.ui.activities.BaseActivity;
import cn.garymb.ygomobile.ui.activities.PermissionsActivity;
import cn.garymb.ygomobile.ui.preference.fragments.SettingFragment; import cn.garymb.ygomobile.ui.preference.fragments.SettingFragment;
import static cn.garymb.ygomobile.ui.activities.PermissionsActivity.PERMISSIONS_GRANTED;
public class SettingsActivity extends BaseActivity { public class SettingsActivity extends BaseActivity {
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
...@@ -17,6 +24,16 @@ public class SettingsActivity extends BaseActivity { ...@@ -17,6 +24,16 @@ public class SettingsActivity extends BaseActivity {
Toolbar toolbar = $(R.id.toolbar); Toolbar toolbar = $(R.id.toolbar);
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
enableBackHome(); enableBackHome();
getFragmentManager().beginTransaction().replace(R.id.fragment, new SettingFragment()).commit(); getFragmentManager().beginTransaction().replace(R.id.fragment, new SettingFragment()).commit();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_PERMISSIONS && resultCode == PERMISSIONS_GRANTED) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && !getContext().getPackageManager().canRequestPackageInstalls()) {
getContext().startActivity(new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, Uri.parse("package" + getContext().getPackageName())));
}
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment