Target sdk 26 (Android 8.0)一些版本相容問題
阿新 • • 發佈:2018-12-11
1、通知欄
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel(id, name, NotificationManager.IMPORTANCE_LOW); getNotifyMgr(context).createNotificationChannel(channel); builder = new NotificationCompat.Builder(context, id); } else { builder = new NotificationCompat.Builder(context); }
參考:
2、版本升級,下載app後不能自動更新安裝
<!--針對android 8.0 應用是否有安裝許可權-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
//相容8.0 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { boolean hasInstallPermission = getPackageManager().canRequestPackageInstalls(); if (!hasInstallPermission) { Tip.toast(this, "請開啟安裝未知應用的許可!"); startInstallPermissionSettingActivity(this); return; } } /** * 跳轉到設定-允許安裝未知來源-頁面 */ @RequiresApi(api = Build.VERSION_CODES.O) private void startInstallPermissionSettingActivity(Context context) { //注意這個是8.0新API Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); }
參考 :
3、設定app內語言