Commit 85f3ca47 authored by 林生雨's avatar 林生雨

commit

parent 02bd549a
...@@ -5,7 +5,11 @@ ...@@ -5,7 +5,11 @@
<option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" /> <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="5be6bbb5-7d6e-4540-a24f-d2b3bf78b3ba" name="Default Changelist" comment="" /> <list default="true" id="5be6bbb5-7d6e-4540-a24f-d2b3bf78b3ba" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/src/main/java/com/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/com/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/.idea/workspace.xml" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/.dart_tool/" /> <ignored path="$PROJECT_DIR$/.dart_tool/" />
<ignored path="$PROJECT_DIR$/.idea/" /> <ignored path="$PROJECT_DIR$/.idea/" />
<ignored path="$PROJECT_DIR$/.pub/" /> <ignored path="$PROJECT_DIR$/.pub/" />
...@@ -199,11 +203,11 @@ ...@@ -199,11 +203,11 @@
</list> </list>
</option> </option>
</component> </component>
<component name="ProjectFrameBounds" extendedState="6"> <component name="ProjectFrameBounds">
<option name="x" value="36" /> <option name="x" value="165" />
<option name="y" value="134" /> <option name="y" value="66" />
<option name="width" value="1440" /> <option name="width" value="1440" />
<option name="height" value="812" /> <option name="height" value="811" />
</component> </component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" /> <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectView"> <component name="ProjectView">
...@@ -219,11 +223,6 @@ ...@@ -219,11 +223,6 @@
<item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" /> <item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" />
<item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" /> <item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" />
<item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" />
<item name="lib" type="462c0819:PsiDirectoryNode" />
</path>
<path> <path>
<item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" /> <item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" />
<item name="External Libraries" type="cb654da1:ExternalLibrariesNode" /> <item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
...@@ -291,7 +290,8 @@ ...@@ -291,7 +290,8 @@
<servers /> <servers />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="3" y="23" width="1440" height="811" extended-state="6" /> <frame x="165" y="66" width="1440" height="811" extended-state="0" />
<editor active="true" />
<layout> <layout>
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.19742489" /> <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.19742489" />
<window_info id="Captures" order="1" side_tool="true" /> <window_info id="Captures" order="1" side_tool="true" />
......
...@@ -3,6 +3,8 @@ package com.example.gengmei_flutter_plugin ...@@ -3,6 +3,8 @@ package com.example.gengmei_flutter_plugin
import android.Manifest import android.Manifest
import android.annotation.TargetApi import android.annotation.TargetApi
import android.app.Activity.RESULT_OK import android.app.Activity.RESULT_OK
import android.app.Application
import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.graphics.Bitmap import android.graphics.Bitmap
...@@ -76,15 +78,15 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -76,15 +78,15 @@ class GengmeiFlutterPlugin : MethodCallHandler {
//剪裁请求码 //剪裁请求码
private val CROP_REQUEST_CODE = 3 private val CROP_REQUEST_CODE = 3
lateinit var resign: Registrar; lateinit var resign: Context
var listener: EventChannel.EventSink? = null var listener: EventChannel.EventSink? = null
@JvmStatic @JvmStatic
fun registerWith(registrar: Registrar) { fun registerWith(registrar: Registrar) {
if (registrar.activity() == null) { if (registrar.activity() == null) {
return return
} }
resign = registrar; resign = registrar.context().applicationContext
val gengmeiFlutterPlugin = GengmeiFlutterPlugin(); val gengmeiFlutterPlugin = GengmeiFlutterPlugin()
val channel = MethodChannel(registrar.messenger(), "gengmei_flutter_plugin") val channel = MethodChannel(registrar.messenger(), "gengmei_flutter_plugin")
channel.setMethodCallHandler(gengmeiFlutterPlugin) channel.setMethodCallHandler(gengmeiFlutterPlugin)
val eventChannel = EventChannel(registrar.messenger(), "gengmei_flutter_plugin_event") val eventChannel = EventChannel(registrar.messenger(), "gengmei_flutter_plugin_event")
...@@ -98,36 +100,34 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -98,36 +100,34 @@ class GengmeiFlutterPlugin : MethodCallHandler {
listener = null; listener = null;
} }
}) })
// registrar.addRequestPermissionsResultListener { id, permissions, grantResults ->
// if (grantResults.size > 0) {
resign.addRequestPermissionsResultListener { id, permissions, grantResults -> // var givePremission = true;
if (grantResults.size > 0) { // grantResults.forEach {
var givePremission = true; // Log.e("lsy", " ${it} ${PackageManager.PERMISSION_GRANTED}")
grantResults.forEach { // if (it != PackageManager.PERMISSION_GRANTED) {
Log.e("lsy", " ${it} ${PackageManager.PERMISSION_GRANTED}") // givePremission = false;
if (it != PackageManager.PERMISSION_GRANTED) { // }
givePremission = false; // }
} // if (givePremission) {
} // premissionHandler?.run {
if (givePremission) { // this.OK()
premissionHandler?.run { // }
this.OK() // } else {
} // Toast.makeText(registrar.context().applicationContext, "请同意权限", Toast.LENGTH_SHORT).show()
} else { // premissionHandler?.run {
Toast.makeText(resign.context().applicationContext, "请同意权限", Toast.LENGTH_SHORT).show() // this.error("没有权限!!")
premissionHandler?.run { // }
this.error("没有权限!!") // }
} // } else {
} // Toast.makeText(registrar.context().applicationContext, "请同意权限", Toast.LENGTH_SHORT).show()
} else { // premissionHandler?.run {
Toast.makeText(resign.context().applicationContext, "请同意权限", Toast.LENGTH_SHORT).show() // this.error("没有权限!!")
premissionHandler?.run { // }
this.error("没有权限!!") // }
} // true;
} // }
true; registrar.addActivityResultListener { requestCode, resultCode, intent ->
}
resign.addActivityResultListener { requestCode, resultCode, intent ->
Log.e("lsy"," LSY ACTIVITY RESULT ${nativeImage?.exists()} ${requestCode} ") Log.e("lsy"," LSY ACTIVITY RESULT ${nativeImage?.exists()} ${requestCode} ")
when (requestCode) { when (requestCode) {
CAMERA_REQUEST_CODE -> { CAMERA_REQUEST_CODE -> {
...@@ -146,7 +146,7 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -146,7 +146,7 @@ class GengmeiFlutterPlugin : MethodCallHandler {
// e.printStackTrace(); // e.printStackTrace();
// } // }
// 最后通知图库更新 // 最后通知图库更新
resign.context().applicationContext.sendBroadcast(Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, registrar.context().applicationContext.sendBroadcast(Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
Uri.fromFile(nativeImage))) Uri.fromFile(nativeImage)))
ImageRespository.getInstance().recordImageListMap.add(0, map) ImageRespository.getInstance().recordImageListMap.add(0, map)
ResultManager.getInstance().resultSuccess(gotoNativeCameraKey, map); ResultManager.getInstance().resultSuccess(gotoNativeCameraKey, map);
...@@ -195,12 +195,11 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -195,12 +195,11 @@ class GengmeiFlutterPlugin : MethodCallHandler {
// } else { // } else {
// intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(nativeImage)); // intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(nativeImage));
// } // }
Log.e("lsy"," ACT NAMT ${resign.activity().localClassName} ${resign.activity().componentName}")
val broad = Intent("com.alpha.flutter.album") val broad = Intent("com.alpha.flutter.album")
broad.putExtra("PATH",nativeImage!!.absolutePath) broad.putExtra("PATH",nativeImage!!.absolutePath)
broad.putExtra("providerString",providerString) broad.putExtra("providerString",providerString)
broad.putExtra("CAMERA_REQUEST_CODE",CAMERA_REQUEST_CODE) broad.putExtra("CAMERA_REQUEST_CODE",CAMERA_REQUEST_CODE)
resign.context().applicationContext.sendBroadcast(broad) resign.sendBroadcast(broad)
// resign.activity().startActivityForResult(intent, CAMERA_REQUEST_CODE); // resign.activity().startActivityForResult(intent, CAMERA_REQUEST_CODE);
} }
...@@ -208,54 +207,37 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -208,54 +207,37 @@ class GengmeiFlutterPlugin : MethodCallHandler {
resultKey++ resultKey++
ResultManager.getInstance().addResult(resultKey, result); ResultManager.getInstance().addResult(resultKey, result);
when (call.method) { when (call.method) {
IMAGE_PICKER -> checkPermission(object : PermissionListener { IMAGE_PICKER -> {
override fun error(str: String) { val result = resultKey;
val result = resultKey; ScanImage(result)
ResultManager.getInstance().resultError(result, str, str) }
}
override fun OK() {
val result = resultKey;
ScanImage(result)
}
})
NATIVE_CAMERA -> { NATIVE_CAMERA -> {
gotoNativeCameraKey = resultKey; gotoNativeCamera(call.argument<String>("authority")!!)
checkPermission(object : PermissionListener {
override fun error(str: String) {
val result = resultKey;
ResultManager.getInstance().resultError(result, str, str)
}
override fun OK() {
gotoNativeCamera(call.argument<String>("authority")!!)
}
})
} }
SAVE_STRING_SHARED -> { SAVE_STRING_SHARED -> {
val result = resultKey; val result = resultKey;
SharedManager.getInstance(resign.activity().applicationContext).saveString(call.argument<String>("key")!!, call.argument<String>("value")!!) SharedManager.getInstance(resign).saveString(call.argument<String>("key")!!, call.argument<String>("value")!!)
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, DebugUtil::printStackTrace).addTo(disposable) }, DebugUtil::printStackTrace).addTo(disposable)
} }
SAVE_INT_SHARED -> { SAVE_INT_SHARED -> {
val result = resultKey; val result = resultKey;
SharedManager.getInstance(resign.activity().applicationContext).saveInt(call.argument<String>("key")!!, call.argument<Int>("value")!!) SharedManager.getInstance(resign).saveInt(call.argument<String>("key")!!, call.argument<Int>("value")!!)
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, DebugUtil::printStackTrace).addTo(disposable) }, DebugUtil::printStackTrace).addTo(disposable)
} }
SAVE_FLOAT_SHARED -> { SAVE_FLOAT_SHARED -> {
val result = resultKey; val result = resultKey;
SharedManager.getInstance(resign.activity().applicationContext).saveFloat(call.argument<String>("key")!!, call.argument<Float>("value")!!) SharedManager.getInstance(resign).saveFloat(call.argument<String>("key")!!, call.argument<Float>("value")!!)
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, DebugUtil::printStackTrace).addTo(disposable) }, DebugUtil::printStackTrace).addTo(disposable)
} }
SAVE_BOOLEAN_SHARED -> { SAVE_BOOLEAN_SHARED -> {
val result = resultKey; val result = resultKey;
SharedManager.getInstance(resign.activity().applicationContext).saveBoolean(call.argument<String>("key")!!, call.argument<Boolean>("value")!!) SharedManager.getInstance(resign).saveBoolean(call.argument<String>("key")!!, call.argument<Boolean>("value")!!)
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, DebugUtil::printStackTrace).addTo(disposable) }, DebugUtil::printStackTrace).addTo(disposable)
...@@ -265,14 +247,14 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -265,14 +247,14 @@ class GengmeiFlutterPlugin : MethodCallHandler {
val temp = call.argument<List<String>>("value")!! val temp = call.argument<List<String>>("value")!!
val set = HashSet<String>(); val set = HashSet<String>();
set.addAll(temp) set.addAll(temp)
SharedManager.getInstance(resign.activity().applicationContext).saveStringList(call.argument<String>("key")!!, set) SharedManager.getInstance(resign).saveStringList(call.argument<String>("key")!!, set)
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, DebugUtil::printStackTrace).addTo(disposable) }, DebugUtil::printStackTrace).addTo(disposable)
} }
GET_STRING_SHARED -> { GET_STRING_SHARED -> {
val result = resultKey; val result = resultKey;
SharedManager.getInstance(resign.activity().applicationContext).getString(call.argument<String>("key")!!, call.argument<String>("value")) SharedManager.getInstance(resign).getString(call.argument<String>("key")!!, call.argument<String>("value"))
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, if (it == null) { ResultManager.getInstance().resultSuccess(result, if (it == null) {
"" ""
...@@ -286,21 +268,21 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -286,21 +268,21 @@ class GengmeiFlutterPlugin : MethodCallHandler {
} }
GET_INT_SHARED -> { GET_INT_SHARED -> {
val result = resultKey; val result = resultKey;
SharedManager.getInstance(resign.activity().applicationContext).getInt(call.argument<String>("key")!!, call.argument<Int>("value")!!) SharedManager.getInstance(resign).getInt(call.argument<String>("key")!!, call.argument<Int>("value")!!)
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, DebugUtil::printStackTrace).addTo(disposable) }, DebugUtil::printStackTrace).addTo(disposable)
} }
GET_FLOAT_SHARED -> { GET_FLOAT_SHARED -> {
val result = resultKey; val result = resultKey;
SharedManager.getInstance(resign.activity().applicationContext).getFloat(call.argument<String>("key")!!, call.argument<Float>("value")!!) SharedManager.getInstance(resign).getFloat(call.argument<String>("key")!!, call.argument<Float>("value")!!)
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, DebugUtil::printStackTrace).addTo(disposable) }, DebugUtil::printStackTrace).addTo(disposable)
} }
GET_BOOLEAN_SHARED -> { GET_BOOLEAN_SHARED -> {
val result = resultKey; val result = resultKey;
SharedManager.getInstance(resign.activity().applicationContext).getBoolean(call.argument<String>("key")!!, call.argument<Boolean>("value")!!) SharedManager.getInstance(resign).getBoolean(call.argument<String>("key")!!, call.argument<Boolean>("value")!!)
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, DebugUtil::printStackTrace).addTo(disposable) }, DebugUtil::printStackTrace).addTo(disposable)
...@@ -312,7 +294,7 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -312,7 +294,7 @@ class GengmeiFlutterPlugin : MethodCallHandler {
temp?.run { temp?.run {
set.addAll(this) set.addAll(this)
} }
SharedManager.getInstance(resign.activity().applicationContext).getStringList(call.argument<String>("key")!!, set) SharedManager.getInstance(resign).getStringList(call.argument<String>("key")!!, set)
.subscribe({ .subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, { }, {
...@@ -322,7 +304,7 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -322,7 +304,7 @@ class GengmeiFlutterPlugin : MethodCallHandler {
} }
CLEAR_SHARE -> { CLEAR_SHARE -> {
val result = resultKey; val result = resultKey;
SharedManager.getInstance(resign.activity().applicationContext).clear().subscribe({ SharedManager.getInstance(resign).clear().subscribe({
ResultManager.getInstance().resultSuccess(result, it); ResultManager.getInstance().resultSuccess(result, it);
}, { }, {
DebugUtil.printStackTrace(it); DebugUtil.printStackTrace(it);
...@@ -339,18 +321,20 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -339,18 +321,20 @@ class GengmeiFlutterPlugin : MethodCallHandler {
ALBUM_PLAY_VIDEO -> { ALBUM_PLAY_VIDEO -> {
val path = call.arguments as String? val path = call.arguments as String?
path?.run { path?.run {
val intent = Intent(resign.context(), VideoActivity::class.java) val intent = Intent(resign, VideoActivity::class.java)
intent.putExtra("PATH", this) intent.putExtra("PATH", this)
resign.activity().startActivity(intent) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK )
resign.startActivity(intent)
} }
} }
PREVIEW_IMAGE -> { PREVIEW_IMAGE -> {
val result = resultKey; val result = resultKey;
val path = call.arguments as String? val path = call.arguments as String?
path?.run { path?.run {
val intent = Intent(resign.activity(), PreviewActivity::class.java) val intent = Intent(resign, PreviewActivity::class.java)
intent.putExtra("PATH", this) intent.putExtra("PATH", this)
resign.activity().startActivity(intent) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK )
resign.startActivity(intent)
ResultManager.getInstance().resultSuccess(result, true) ResultManager.getInstance().resultSuccess(result, true)
// ImageRespository.getInstance().getPreviewImg(resign.context().applicationContext,this, 800.0f).subscribe({ // ImageRespository.getInstance().getPreviewImg(resign.context().applicationContext,this, 800.0f).subscribe({
// val resutlMap=HashMap<String,String>(5); // val resutlMap=HashMap<String,String>(5);
...@@ -368,7 +352,7 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -368,7 +352,7 @@ class GengmeiFlutterPlugin : MethodCallHandler {
fun ScanImage(resultKey: Long) { fun ScanImage(resultKey: Long) {
quit_page = false; quit_page = false;
ImageRespository.getInstance().scanPhoneImage(resign.context().applicationContext).subscribe( ImageRespository.getInstance().scanPhoneImage(resign).subscribe(
{ {
record = it record = it
if (!quit_page) { if (!quit_page) {
...@@ -386,10 +370,10 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -386,10 +370,10 @@ class GengmeiFlutterPlugin : MethodCallHandler {
} }
fun savePreview() { fun savePreview() {
ImageRespository.getInstance().savePreviewImg(resign.context().applicationContext, object : ImageRespository.savePreviewListener { ImageRespository.getInstance().savePreviewImg(resign, object : ImageRespository.savePreviewListener {
override fun onSuccess(data: HashMap<String, ArrayList<HashMap<String, Any>>>) { override fun onSuccess(data: HashMap<String, ArrayList<HashMap<String, Any>>>) {
if (!quit_page) { if (!quit_page) {
Handler(resign.activeContext().applicationContext.mainLooper).post { Handler(resign.mainLooper).post {
listener?.run { listener?.run {
this.success(data) this.success(data)
} }
...@@ -401,32 +385,32 @@ class GengmeiFlutterPlugin : MethodCallHandler { ...@@ -401,32 +385,32 @@ class GengmeiFlutterPlugin : MethodCallHandler {
@TargetApi(Build.VERSION_CODES.M) @TargetApi(Build.VERSION_CODES.M)
private fun checkPermission(listener: PermissionListener) { private fun checkPermission(listener: PermissionListener) {
premissionHandler=listener premissionHandler=listener
val activity = resign.activity() listener.OK()
val writePremission = activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) // val activity = resign
val readPremission = activity.checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) // val writePremission = activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
val cameraPremission = activity.checkSelfPermission(Manifest.permission.CAMERA); // val readPremission = activity.checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
if (writePremission != PackageManager.PERMISSION_GRANTED || // val cameraPremission = activity.checkSelfPermission(Manifest.permission.CAMERA);
cameraPremission != PackageManager.PERMISSION_GRANTED || // if (writePremission != PackageManager.PERMISSION_GRANTED ||
readPremission != PackageManager.PERMISSION_GRANTED) { // cameraPremission != PackageManager.PERMISSION_GRANTED ||
if (activity.shouldShowRequestPermissionRationale(Manifest.permission // readPremission != PackageManager.PERMISSION_GRANTED) {
.WRITE_EXTERNAL_STORAGE)) { //// if (activity.shouldShowRequestPermissionRationale(Manifest.permission
Toast.makeText(activity.applicationContext, "请开通相关权限,否则无法正常使用本应用!", Toast.LENGTH_SHORT).show() //// .WRITE_EXTERNAL_STORAGE)) {
} //// Toast.makeText(activity.applicationContext, "请开通相关权限,否则无法正常使用本应用!", Toast.LENGTH_SHORT).show()
if (activity.shouldShowRequestPermissionRationale(Manifest.permission.CAMERA)) { //// }
Toast.makeText(activity.applicationContext, "请开通相关权限,否则无法正常使用本应用", Toast.LENGTH_SHORT).show() //// if (activity.shouldShowRequestPermissionRationale(Manifest.permission.CAMERA)) {
} //// Toast.makeText(activity.applicationContext, "请开通相关权限,否则无法正常使用本应用", Toast.LENGTH_SHORT).show()
if (activity.shouldShowRequestPermissionRationale(Manifest.permission.READ_EXTERNAL_STORAGE)) { //// }
Toast.makeText(activity.applicationContext, "请开通相关权限,否则无法正常使用本应用", Toast.LENGTH_SHORT).show() //// if (activity.shouldShowRequestPermissionRationale(Manifest.permission.READ_EXTERNAL_STORAGE)) {
} //// Toast.makeText(activity.applicationContext, "请开通相关权限,否则无法正常使用本应用", Toast.LENGTH_SHORT).show()
//申请权限 //// }
activity.requestPermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE // //申请权限
, Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE), PREMISSION); // activity.requestPermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE
} else { // , Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE), PREMISSION);
// Toast.makeText(activity.applicationContext, "授权成功!", Toast.LENGTH_SHORT).show(); // } else {
listener.OK() //// Toast.makeText(activity.applicationContext, "授权成功!", Toast.LENGTH_SHORT).show();
} // listener.OK()
// }
} }
interface PermissionListener { interface PermissionListener {
......
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