Commit c2cc9958 authored by wanglei's avatar wanglei

...

parent b2917ad3
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
</activity> </activity>
<activity <activity
android:name=".ui.main.MainActivity" android:name=".ui.main.MainActivity"
android:configChanges="locale"
android:exported="false" android:exported="false"
android:launchMode="singleTask" android:launchMode="singleTask"
android:screenOrientation="portrait" android:screenOrientation="portrait"
......
...@@ -43,6 +43,9 @@ object ConstObject { ...@@ -43,6 +43,9 @@ object ConstObject {
const val NOTIFICATION_ACTION_LOG = "notification_action_log" const val NOTIFICATION_ACTION_LOG = "notification_action_log"
const val NOTIFICATION_ACTION_DOCUMENT = "notification_action_document" const val NOTIFICATION_ACTION_DOCUMENT = "notification_action_document"
const val NOTIFICATION_ACTION_BOOKMARK = "notification_action_bookmark" const val NOTIFICATION_ACTION_BOOKMARK = "notification_action_bookmark"
const val SHORTCUT_SCAN_PDF = "shortcut_scan_pdf"
const val SHORTCUT_SPLIT_PDF = "shortcut_split_pdf"
const val SHORTCUT_MERGE_PDF = "shortcut_merge_pdf"
var ifAgreePrivacy = false var ifAgreePrivacy = false
get() { get() {
......
...@@ -11,6 +11,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.changeLanguageSp ...@@ -11,6 +11,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.changeLanguageSp
import com.base.pdfviewerscannerwhite.ui.main.MainActivity import com.base.pdfviewerscannerwhite.ui.main.MainActivity
import com.base.pdfviewerscannerwhite.utils.ActivityLauncher import com.base.pdfviewerscannerwhite.utils.ActivityLauncher
import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils
import com.base.pdfviewerscannerwhite.utils.LanguageUtils.changeAppLanguage
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import java.util.Locale import java.util.Locale
...@@ -74,14 +75,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { ...@@ -74,14 +75,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
) )
if (appLanguageSp != changeLanguageSp || activityLanguage != appLanguageSp) { if (appLanguageSp != changeLanguageSp || activityLanguage != appLanguageSp) {
val config = resources.configuration changeAppLanguage(this)
val locale = Locale(changeLanguageSp)
//Android 7.0以上的方法
config.setLocale(locale);
config.setLocales(LocaleList(locale));
createConfigurationContext(config);
resources.updateConfiguration(config, resources.displayMetrics)
// Restart the app // Restart the app
appLanguageSp = changeLanguageSp appLanguageSp = changeLanguageSp
......
...@@ -6,12 +6,10 @@ import android.content.Intent ...@@ -6,12 +6,10 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
import com.base.pdfviewerscannerwhite.bean.ConstObject import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.LanguageBean
import com.base.pdfviewerscannerwhite.fcm.FCMManager import com.base.pdfviewerscannerwhite.fcm.FCMManager
import com.base.pdfviewerscannerwhite.ui.splash.SplashActivity import com.base.pdfviewerscannerwhite.ui.splash.SplashActivity
import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils
import com.base.pdfviewerscannerwhite.utils.AppPreferences import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.base.pdfviewerscannerwhite.utils.LanguageUtils.getSystemLanguage
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import com.facebook.FacebookSdk import com.facebook.FacebookSdk
import com.tom_roush.pdfbox.android.PDFBoxResourceLoader import com.tom_roush.pdfbox.android.PDFBoxResourceLoader
...@@ -38,6 +36,7 @@ class MyApplication : Application() { ...@@ -38,6 +36,7 @@ class MyApplication : Application() {
var pdfSplitLanguage: String = Locale.ENGLISH.language var pdfSplitLanguage: String = Locale.ENGLISH.language
var wordLanguage: String = Locale.ENGLISH.language var wordLanguage: String = Locale.ENGLISH.language
var umpCanAd: Boolean = true var umpCanAd: Boolean = true
@JvmField @JvmField
...@@ -50,37 +49,25 @@ class MyApplication : Application() { ...@@ -50,37 +49,25 @@ class MyApplication : Application() {
context = this context = this
initUUid() initUUid()
initApp() initApp()
initSystemLanguage() initActivityLanguage()
PDFBoxResourceLoader.init(applicationContext) PDFBoxResourceLoader.init(applicationContext)
} }
private fun initSystemLanguage() { fun initActivityLanguage() {
val systemLanguage = getSystemLanguage() splashLanguage = ConstObject.appLanguageSp
mainLanguage = ConstObject.appLanguageSp
val supportLanguage = listOf( setLanguage = ConstObject.appLanguageSp
Locale.ENGLISH.language, feedbackLanguage = ConstObject.appLanguageSp
Locale.PRC.language, pptLanguage = ConstObject.appLanguageSp
Locale("pt", "BR").language, pdfLanguage = ConstObject.appLanguageSp
Locale("es").language, pdfLoadingLanguage = ConstObject.appLanguageSp
Locale.FRENCH.language, pdfMergeLanguage = ConstObject.appLanguageSp
Locale("de").language, pdfSelectLanguage = ConstObject.appLanguageSp
Locale("th", "TH").language, pdfSplitLanguage = ConstObject.appLanguageSp
Locale("in", "ID").language, wordLanguage = ConstObject.appLanguageSp
Locale("ms", "MY").language,
Locale("vi", "VN").language,
Locale("ja", "JP").language,
Locale("it", "IT").language,
Locale("ko", "KR").language,
Locale("nl", "NL").language,
Locale("zh", "TW").language,
Locale("tr", "TR").language
)
if (supportLanguage.contains(systemLanguage) && ConstObject.appLanguageSp != systemLanguage) {
LogEx.logDebug(TAG, "initSystemLanguage systemLanguage=$systemLanguage")
ConstObject.changeLanguageSp = systemLanguage
}
} }
private fun initUUid() { private fun initUUid() {
uuid = AppPreferences.getInstance().getString("uuid", "") uuid = AppPreferences.getInstance().getString("uuid", "")
if (TextUtils.isEmpty(uuid)) { if (TextUtils.isEmpty(uuid)) {
......
...@@ -15,12 +15,16 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject ...@@ -15,12 +15,16 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_MERGE_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SCAN_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SPLIT_PDF
import com.base.pdfviewerscannerwhite.bean.DocumentBean import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.ActivityMain2Binding import com.base.pdfviewerscannerwhite.databinding.ActivityMain2Binding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.helper.MyApplication import com.base.pdfviewerscannerwhite.helper.MyApplication
import com.base.pdfviewerscannerwhite.ui.document.excel.ExcelActivity import com.base.pdfviewerscannerwhite.ui.document.excel.ExcelActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSelectActivity
import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity
import com.base.pdfviewerscannerwhite.ui.document.word.WordActivity import com.base.pdfviewerscannerwhite.ui.document.word.WordActivity
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showAppExitDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showAppExitDialog
...@@ -31,6 +35,7 @@ import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfPwdDialog ...@@ -31,6 +35,7 @@ import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfPwdDialog
import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.shareMutDocuments import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.shareMutDocuments
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission
import com.base.pdfviewerscannerwhite.utils.ShortcutUtils.addDeskShortCut
import com.base.pdfviewerscannerwhite.utils.updateMediaStore import com.base.pdfviewerscannerwhite.utils.updateMediaStore
import java.io.File import java.io.File
...@@ -53,14 +58,23 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -53,14 +58,23 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
private val toolFragment: Fragment by lazy { private val toolFragment: Fragment by lazy {
ToolFragment() ToolFragment()
} }
private var actionId: String = ""
private var currentFragment: Fragment = documentFragment private var currentFragment: Fragment = documentFragment
override fun initView() { override fun initView() {
LogEx.logDebug(TAG, "initView") actionId = intent.extras?.getString("actionId") ?: ""
LogEx.logDebug(TAG, "initView actionId=$actionId", true)
mainPresenter = MainPresenter(this, this, lifecycleScope) mainPresenter = MainPresenter(this, this, lifecycleScope)
mainPresenter.initScannerLauncher(this) mainPresenter.initScannerLauncher(this)
addDeskShortCut()
}
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
actionId = intent?.extras?.getString("actionId") ?: ""
LogEx.logDebug(TAG, "onNewIntent actionId=$actionId", true)
actionIdOperation()
} }
override fun onResume() { override fun onResume() {
...@@ -92,7 +106,6 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -92,7 +106,6 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
override fun onSaveInstanceState(outState: Bundle) { override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState) super.onSaveInstanceState(outState)
LogEx.logDebug(TAG, "onSaveInstanceState") LogEx.logDebug(TAG, "onSaveInstanceState")
} }
var isDocumentAdd: Boolean = false var isDocumentAdd: Boolean = false
...@@ -215,6 +228,23 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -215,6 +228,23 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
mainPresenter.starGmsScan(this) mainPresenter.starGmsScan(this)
} }
actionIdOperation()
}
private fun actionIdOperation() {
if (actionId == SHORTCUT_SCAN_PDF) {
mainPresenter.starGmsScan(this)
}
if (actionId == SHORTCUT_SPLIT_PDF) {
startActivity(Intent(this, PdfSelectActivity::class.java).apply {
putExtra("doWhat", ConstObject.DO_SPLIT_PDF)
})
}
if (actionId == SHORTCUT_MERGE_PDF) {
startActivity(Intent(this, PdfSelectActivity::class.java).apply {
putExtra("doWhat", ConstObject.DO_MERGE_PDF)
})
}
} }
private fun shareDocument() { private fun shareDocument() {
......
...@@ -8,7 +8,12 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.changeLanguageSp ...@@ -8,7 +8,12 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.changeLanguageSp
import com.base.pdfviewerscannerwhite.bean.LanguageBean import com.base.pdfviewerscannerwhite.bean.LanguageBean
import com.base.pdfviewerscannerwhite.databinding.ActivitySetLanguageBinding import com.base.pdfviewerscannerwhite.databinding.ActivitySetLanguageBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.helper.MyApplication
import com.base.pdfviewerscannerwhite.utils.LanguageUtils
import com.base.pdfviewerscannerwhite.utils.LanguageUtils.changeAppLanguage
import com.base.pdfviewerscannerwhite.utils.LanguageUtils.getSystemLanguageDefault import com.base.pdfviewerscannerwhite.utils.LanguageUtils.getSystemLanguageDefault
import com.base.pdfviewerscannerwhite.utils.LogEx
import com.cherry.lib.doc.office.fc.hssf.formula.function.IfFunc
import java.util.Locale import java.util.Locale
class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() { class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() {
...@@ -16,6 +21,7 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() { ...@@ -16,6 +21,7 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() {
override val binding: ActivitySetLanguageBinding by lazy { override val binding: ActivitySetLanguageBinding by lazy {
ActivitySetLanguageBinding.inflate(layoutInflater) ActivitySetLanguageBinding.inflate(layoutInflater)
} }
private val TAG = ""
private lateinit var adapter: LanguageAdapter private lateinit var adapter: LanguageAdapter
private var from: String = "" private var from: String = ""
override fun initView() { override fun initView() {
...@@ -24,6 +30,12 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() { ...@@ -24,6 +30,12 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() {
adapter = LanguageAdapter() adapter = LanguageAdapter()
binding.rv.adapter = adapter binding.rv.adapter = adapter
val systemLanguage = LanguageUtils.getSystemLanguage()
if (MyApplication.setLanguage != systemLanguage && LanguageUtils.isSupportSystemLanguage()) {
ConstObject.changeLanguageSp = systemLanguage
changeAppLanguage(this)
recreate()
}
initData() initData()
} }
...@@ -51,6 +63,7 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() { ...@@ -51,6 +63,7 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() {
} }
} }
private fun initData() { private fun initData() {
val list = listOf( val list = listOf(
LanguageBean(this.getString(R.string.follow_system), getSystemLanguageDefault()).apply { isFollowSystem = true }, LanguageBean(this.getString(R.string.follow_system), getSystemLanguageDefault()).apply { isFollowSystem = true },
......
...@@ -12,6 +12,7 @@ import com.base.pdfviewerscannerwhite.R ...@@ -12,6 +12,7 @@ import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.ads.AdmobHelper.initAdmobAd import com.base.pdfviewerscannerwhite.ads.AdmobHelper.initAdmobAd
import com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils import com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils
import com.base.pdfviewerscannerwhite.bean.ConstObject import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SCAN_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.haveSelectLanguage import com.base.pdfviewerscannerwhite.bean.ConstObject.haveSelectLanguage
import com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy import com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy
import com.base.pdfviewerscannerwhite.databinding.ActivitySplash2Binding import com.base.pdfviewerscannerwhite.databinding.ActivitySplash2Binding
...@@ -26,7 +27,6 @@ import com.base.pdfviewerscannerwhite.utils.LogEx ...@@ -26,7 +27,6 @@ import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import com.base.pdfviewerscannerwhite.utils.UmpUtils import com.base.pdfviewerscannerwhite.utils.UmpUtils
import com.base.pdfviewerscannerwhite.utils.UmpUtils.requestUMP import com.base.pdfviewerscannerwhite.utils.UmpUtils.requestUMP
import com.cherry.lib.doc.office.system.IFind
import java.util.Calendar import java.util.Calendar
import java.util.Locale import java.util.Locale
import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicBoolean
...@@ -41,12 +41,14 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView { ...@@ -41,12 +41,14 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
override val binding: ActivitySplash2Binding by lazy { override val binding: ActivitySplash2Binding by lazy {
ActivitySplash2Binding.inflate(layoutInflater) ActivitySplash2Binding.inflate(layoutInflater)
} }
private var actionId = ""
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
override fun initView() { override fun initView() {
BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
// binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) // binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
if (Build.VERSION.SDK_INT >= 33) { if (Build.VERSION.SDK_INT >= 33) {
registerForActivityResult(ActivityResultContracts.RequestPermission()) {}.launch( registerForActivityResult(ActivityResultContracts.RequestPermission()) {}.launch(
...@@ -56,6 +58,10 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView { ...@@ -56,6 +58,10 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
splashPresenter = SplashPresenter(this) splashPresenter = SplashPresenter(this)
startStayNotification() startStayNotification()
actionId = intent.extras?.getString("actionId") ?: ""
LogEx.logDebug(TAG, "actionId=$actionId")
// 获取当前日期 // 获取当前日期
val calendar: Calendar = Calendar.getInstance() val calendar: Calendar = Calendar.getInstance()
val month: Int = calendar.get(Calendar.MONTH) val month: Int = calendar.get(Calendar.MONTH)
...@@ -100,7 +106,6 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView { ...@@ -100,7 +106,6 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
} }
ifAgreePrivacy = true ifAgreePrivacy = true
if (ifAgreePrivacy) { if (ifAgreePrivacy) {
if (isHotLaunch) { if (isHotLaunch) {
agreePrivacy() agreePrivacy()
} else { } else {
...@@ -170,18 +175,24 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView { ...@@ -170,18 +175,24 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
binding.progressBar.progress = 100 binding.progressBar.progress = 100
binding.root.postDelayed({ binding.root.postDelayed({
if (!haveSelectLanguage && ConstObject.changeLanguageSp != Locale.ENGLISH.language) { if (!haveSelectLanguage && ConstObject.changeLanguageSp != Locale.ENGLISH.language) {
startActivity(Intent(this, SetLanguageActivity::class.java)) startActivity(Intent(this, SetLanguageActivity::class.java))
finish() finish()
return@postDelayed return@postDelayed
} }
val actionId = intent.extras?.getString("actionId") LogEx.logDebug(TAG, "jumpNext actionId=$actionId")
when (actionId) {
else -> {
startActivity(Intent(this, MainActivity::class.java).apply { startActivity(Intent(this, MainActivity::class.java).apply {
putExtra("actionId", actionId) putExtra("actionId", actionId)
}) })
}
}
this.intent.extras?.clear()
finish() finish()
intent.extras?.clear()
}, 100) }, 100)
} }
......
package com.base.pdfviewerscannerwhite.utils package com.base.pdfviewerscannerwhite.utils
import android.content.Context import android.content.Context
import android.os.LocaleList
import com.base.pdfviewerscannerwhite.bean.ConstObject
import java.util.Locale import java.util.Locale
object LanguageUtils { object LanguageUtils {
...@@ -9,7 +11,6 @@ object LanguageUtils { ...@@ -9,7 +11,6 @@ object LanguageUtils {
return Locale.getDefault().language return Locale.getDefault().language
} }
fun getSystemLanguageDefault(): String {
val supportLanguage = listOf( val supportLanguage = listOf(
Locale.ENGLISH.language, Locale.ENGLISH.language,
Locale.PRC.language, Locale.PRC.language,
...@@ -28,6 +29,8 @@ object LanguageUtils { ...@@ -28,6 +29,8 @@ object LanguageUtils {
Locale("zh", "TW").language, Locale("zh", "TW").language,
Locale("tr", "TR").language Locale("tr", "TR").language
) )
fun getSystemLanguageDefault(): String {
var systemLanguage = getSystemLanguage() var systemLanguage = getSystemLanguage()
if (!supportLanguage.contains(systemLanguage)) { if (!supportLanguage.contains(systemLanguage)) {
systemLanguage = Locale.ENGLISH.language systemLanguage = Locale.ENGLISH.language
...@@ -35,4 +38,19 @@ object LanguageUtils { ...@@ -35,4 +38,19 @@ object LanguageUtils {
return systemLanguage return systemLanguage
} }
fun isSupportSystemLanguage(): Boolean {
return supportLanguage.contains(getSystemLanguage())
}
fun changeAppLanguage(context: Context) {
val config = context.resources.configuration
val locale = Locale(ConstObject.changeLanguageSp)
//Android 7.0以上的方法
config.setLocale(locale)
config.setLocales(LocaleList(locale));
context.createConfigurationContext(config);
context.resources.updateConfiguration(config, context.resources.displayMetrics)
}
} }
\ No newline at end of file
package com.base.pdfviewerscannerwhite.utils
import android.content.Context
import android.content.Intent
import android.content.pm.ShortcutInfo
import android.content.pm.ShortcutManager
import android.graphics.drawable.Icon
import android.os.Build
import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.ui.splash.SplashActivity
object ShortcutUtils {
fun Context.addDeskShortCut() {
//获取ShortcutManager对象
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
val shortcutManager: ShortcutManager = getSystemService(ShortcutManager::class.java) as ShortcutManager
val shortcut1 = ShortcutInfo.Builder(this, "11111")
.setShortLabel("Scan Pdf")
.setIcon(Icon.createWithResource(this, R.mipmap.scan_tool))
.setIntent(Intent(Intent.ACTION_MAIN, null, this, SplashActivity::class.java).apply {
putExtra("actionId", ConstObject.SHORTCUT_SCAN_PDF)
})
.build()
val shortcut2 = ShortcutInfo.Builder(this, "22222")
.setShortLabel("Split Pdf")
.setIcon(Icon.createWithResource(this, R.mipmap.split))
.setIntent(Intent(Intent.ACTION_MAIN, null, this, SplashActivity::class.java).apply {
putExtra("actionId", ConstObject.SHORTCUT_MERGE_PDF)
})
.build()
val shortcut3 = ShortcutInfo.Builder(this, "33333")
.setShortLabel("Merge Pdf")
.setIcon(Icon.createWithResource(this, R.mipmap.merge))
.setIntent(Intent(Intent.ACTION_MAIN, null, this, SplashActivity::class.java).apply {
putExtra("actionId", ConstObject.SHORTCUT_MERGE_PDF)
})
.build()
//setDynamicShortcuts()方法来设置快捷方式
shortcutManager.setDynamicShortcuts(listOf(shortcut1, shortcut2, shortcut3))
}
}
}
\ No newline at end of file
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