Commit 69c66d89 authored by fallenstardust's avatar fallenstardust

动态权限申请

parent 8a704146
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/> <uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-sdk <uses-sdk
tools:overrideLibrary="com.toptoche.searchablespinnerlibrary"/> tools:overrideLibrary="com.toptoche.searchablespinnerlibrary"/>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
package cn.garymb.ygomobile.ui.home; package cn.garymb.ygomobile.ui.home;
import android.Manifest;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color; import android.graphics.Color;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.view.WindowManager;
import java.io.IOException; import java.io.IOException;
...@@ -24,19 +29,43 @@ import cn.garymb.ygomobile.utils.NetUtils; ...@@ -24,19 +29,43 @@ import cn.garymb.ygomobile.utils.NetUtils;
import static cn.garymb.ygomobile.Constants.ACTION_RELOAD; import static cn.garymb.ygomobile.Constants.ACTION_RELOAD;
import static cn.garymb.ygomobile.Constants.NETWORK_IMAGE; import static cn.garymb.ygomobile.Constants.NETWORK_IMAGE;
import static cn.garymb.ygomobile.ui.home.ResCheckTask.*;
public class MainActivity extends HomeActivity { public class MainActivity extends HomeActivity{
private GameUriManager mGameUriManager; private GameUriManager mGameUriManager;
private ImageUpdater mImageUpdater; private ImageUpdater mImageUpdater;
private boolean enableStart; private boolean enableStart;
ResCheckTask mResCheckTask; ResCheckTask mResCheckTask;
private final String[] PERMISSIONS ={
// Manifest.permission.RECORD_AUDIO,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
};
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
YGOStarter.onCreated(this); YGOStarter.onCreated(this);
mImageUpdater = new ImageUpdater(this); mImageUpdater = new ImageUpdater(this);
//动态权限
ActivityCompat.requestPermissions(this, PERMISSIONS, 0);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
for(int i=0;i<permissions.length;i++){
if(grantResults[i] == PackageManager.PERMISSION_DENIED){
showToast(R.string.tip_no_permission);
break;
}
}
//资源复制 //资源复制
checkRes();
}
private void checkRes() {
checkResourceDownload((error, isNew) -> { checkResourceDownload((error, isNew) -> {
if (error < 0) { if (error < 0) {
enableStart = false; enableStart = false;
...@@ -109,12 +138,12 @@ public class MainActivity extends HomeActivity { ...@@ -109,12 +138,12 @@ public class MainActivity extends HomeActivity {
} }
@Override @Override
protected void checkResourceDownload(ResCheckTask.ResCheckListener listener) { protected void checkResourceDownload(ResCheckListener listener) {
mResCheckTask = new ResCheckTask(this, listener); ResCheckTask task = new ResCheckTask(this, listener);
if (Build.VERSION.SDK_INT >= 11) { if (Build.VERSION.SDK_INT >= 11) {
mResCheckTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else { } else {
mResCheckTask.execute(); task.execute();
} }
} }
...@@ -132,9 +161,9 @@ public class MainActivity extends HomeActivity { ...@@ -132,9 +161,9 @@ public class MainActivity extends HomeActivity {
DialogPlus dialog = DialogPlus.show(this, null, getString(R.string.message)); DialogPlus dialog = DialogPlus.show(this, null, getString(R.string.message));
dialog.show(); dialog.show();
VUiKit.defer().when(() -> { VUiKit.defer().when(() -> {
if (IOUtils.hasAssets(this, ResCheckTask.getDatapath(Constants.CORE_PICS_ZIP))) { if (IOUtils.hasAssets(this, getDatapath(Constants.CORE_PICS_ZIP))) {
try { try {
IOUtils.copyFilesFromAssets(this, ResCheckTask.getDatapath(Constants.CORE_PICS_ZIP), IOUtils.copyFilesFromAssets(this, getDatapath(Constants.CORE_PICS_ZIP),
AppsSettings.get().getResourcePath(), true); AppsSettings.get().getResourcePath(), true);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
......
...@@ -243,12 +243,12 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> { ...@@ -243,12 +243,12 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
+ "SELECT id, ot, alias, setcode, type, atk, def, level, race, attribute, category FROM datas_backup;"); + "SELECT id, ot, alias, setcode, type, atk, def, level, race, attribute, category FROM datas_backup;");
db.execSQL("DROP TABLE datas_backup;"); db.execSQL("DROP TABLE datas_backup;");
db.execSQL("ALTER TABLE texts RENAME TO texts_backup;"); db.execSQL("ALTER TABLE texts RENAME TO texts_backup;");
db.execSQL("CREATE TABLE texts (_id integer PRIMARY KEY, name varchar(128), desc varchar(1024)," db.execSQL("CREATE TABLE texts (_id integer PRIMARY KEY, name varchar(128), \"desc\" varchar(1024),"
+ " str1 varchar(256), str2 varchar(256), str3 varchar(256), str4 varchar(256), str5 varchar(256)," + " str1 varchar(256), str2 varchar(256), str3 varchar(256), str4 varchar(256), str5 varchar(256),"
+ " str6 varchar(256), str7 varchar(256), str8 varchar(256), str9 varchar(256), str10 varchar(256)," + " str6 varchar(256), str7 varchar(256), str8 varchar(256), str9 varchar(256), str10 varchar(256),"
+ " str11 varchar(256), str12 varchar(256), str13 varchar(256), str14 varchar(256), str15 varchar(256), str16 varchar(256));"); + " str11 varchar(256), str12 varchar(256), str13 varchar(256), str14 varchar(256), str15 varchar(256), str16 varchar(256));");
db.execSQL("INSERT INTO texts (_id, name, desc, str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16)" db.execSQL("INSERT INTO texts (_id, name, \"desc\", str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16)"
+ " SELECT id, name, desc, str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16 FROM texts_backup;"); + " SELECT id, name, \"desc\", str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16 FROM texts_backup;");
db.execSQL("DROP TABLE texts_backup;"); db.execSQL("DROP TABLE texts_backup;");
db.setTransactionSuccessful(); db.setTransactionSuccessful();
} finally { } finally {
...@@ -371,5 +371,4 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> { ...@@ -371,5 +371,4 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
} }
}; };
} }
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