精华内容
下载资源
问答
  • 安卓q bubblesIn this tutorial, we’ll look at a new feature introduced with Android Q which is Bubbles. We’ll be implementing it in our Android Application today. 在本教程中,我们将介绍Android Q引入...

    安卓q bubbles

    In this tutorial, we’ll look at a new feature introduced with Android Q which is Bubbles. We’ll be implementing it in our Android Application today.

    在本教程中,我们将介绍Android Q引入的一项新功能,即Bubbles。 今天,我们将在我们的Android应用程序中实现它。

    Android Q Bubbles (Android Q Bubbles)

    We’ve all seen how Facebook chat bubbles work. Come Android Q, and now we have a built-in notification system which opens a preview of the application screen from the notification bubble. Moreover, we can multi-task and switch between different bubbles.

    我们都已经看到了Facebook聊天气泡是如何工作的。 快来看看Android Q,现在我们有了一个内置的通知系统,它可以从通知气泡中打开应用程序屏幕的预览。 此外,我们可以执行多任务并在不同气泡之间切换。

    When the device is locked, Bubbles won’t be displayed. Only the normal notification would be displayed.
    Bubbles are an opt-in feature. When presented for the first time, we have an option to allow/disable bubbles.
    Otherwise, we can do the same from the settings.

    设备锁定后,将不会显示气泡。 仅显示普通通知。
    气泡是一项可选功能。 首次显示时,我们可以选择允许/禁用气泡。
    否则,我们可以从设置中执行相同的操作。

    Bubble displays content in floating windows.

    气泡在浮动窗口中显示内容。

    Android Q Notification Bubble Permissions

    Android Q Notification Bubble Permissions

    Android Q通知气泡权限

    气泡如何实施? (How are Bubbles implemented?)

    In order to implement Bubbles in our Notification, we have to set the Bubble Metadata using the Builder and set it on the Notification with setBubbleMetadata().

    为了在我们的Notification中实现Bubbles,我们必须使用Builder来设置Bubble元数据,并使用setBubbleMetadata()在Notification上setBubbleMetadata()设置。

    For the activity to open from the bubble, we need to define it in the Manifest file as:

    为了使活动从气泡中打开,我们需要在清单文件中将其定义为:

    <activity
                android:name=".BubbleActivity"
                android:label="@string/title_activity_bubble"
                android:allowEmbedded="true"
                android:documentLaunchMode="always"
                android:resizeableActivity="true"
                android:theme="@style/AppTheme.NoActionBar"/>

    Creating a Bubble Metadata:

    创建气泡元数据:

    Notification.BubbleMetadata bubbleData =
        new Notification.BubbleMetadata.Builder()
            .setDesiredHeight(600)
            .setIntent(bubbleIntent)
            .setAutoExpandBubble(true)
            .setSuppressInitialNotification(true)
            .build();

    But you can always auto expand the bubble by setting the methods
    但是您始终可以通过设置方法setAutoExpand(true) and setAutoExpand(true)setSuppressInitialNotification(true)setSuppressInitialNotification(true)自动扩大气泡

    The lifecycle of the activity presented in the Bubble is the same as the normal lifecycle.
    Every time the bubble is dismissed, the activity gets killed.

    气泡中显示的活动的生命周期与正常生命周期相同。
    每次消除气泡,该活动就会被杀死。

    For a bubble to be displayed, you must pass IMPORTANCE HIGH in the NotificationChannel.

    要显示气泡,必须在NotificationChannel传递IMPORTANCE HIGH

    canBubble() method. You can use this to determine whether bubbles could be displayed for this notification channel or whether they are disabled.canBubble()方法。 您可以使用它来确定是否可以为该通知通道显示气泡或是否将其禁用。

    setAllowBubbles() can be set to true on the NotificationChannel in order to allow bubbles to be displayed for this NotificationChannel group.

    可以在NotificationChannel setAllowBubbles()设置为true,以允许为此NotificationChannel组显示气泡。

    PRO-TIP
    areBubblesAllowed() is added in the NotificationManager class. This along with canBubble should be used to check whether bubbles are allowed or not.

    专家提示
    在NotificationManager类中添加了areBubblesAllowed() 。 可以将它与canBubble一起使用,以检查是否允许气泡。

    In the following section, we’ll be creating a simple application that demonstrates Android Bubbles.
    We’ll be using AndroidX.

    在以下部分中,我们将创建一个演示Android Bubbles的简单应用程序。
    我们将使用AndroidX。

    项目结构 (Project Structure)

    Android Q Bubble Project Structure

    Android Q Bubble Project Structure

    Android Q Bubble项目结构

    (Code)

    The code for the activity_main.xml layout is given below:

    下面给出了activity_main.xml布局的代码:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        android:layout_height="match_parent">
    
        <Button
            android:id="@+id/btnBubble"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Create Bubble" />
    
    
        <Button
            android:id="@+id/btnBubble2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Another Bubble" />
    
    </LinearLayout>

    The code for the MainActivity.java class is given below:

    MainActivity.java类的代码如下:

    package com.journaldev.androidqbubbles;
    
    import androidx.appcompat.app.AppCompatActivity;
    import android.app.Notification;
    import android.app.NotificationChannel;
    import android.app.NotificationManager;
    import android.app.PendingIntent;
    
    import android.content.Context;
    import android.content.Intent;
    import android.graphics.drawable.Icon;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        Button btnBubble, btnBubble2;
    
        NotificationManager notificationManager;
        Notification.Builder builder;
        NotificationChannel channel;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            btnBubble = findViewById(R.id.btnBubble);
            btnBubble2 = findViewById(R.id.btnBubble2);
    
            notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    
            CharSequence name = "My Channel";
            String description = "xyz";
            int importance = NotificationManager.IMPORTANCE_HIGH;
    
            channel = new NotificationChannel("1", name, importance);
            channel.setDescription(description);
            channel.setAllowBubbles(true);
    
    
            btnBubble.setOnClickListener(this);
            btnBubble2.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View view) {
    
            switch (view.getId())
            {
                case R.id.btnBubble:
                    Intent target = new Intent(MainActivity.this, BubbleActivity.class);
                    PendingIntent bubbleIntent =
                            PendingIntent.getActivity(MainActivity.this, 0, target, PendingIntent.FLAG_UPDATE_CURRENT /* flags */);
    
                    // Create bubble metadata
                    Notification.BubbleMetadata bubbleData =
                            new Notification.BubbleMetadata.Builder()
                                    .setDesiredHeight(600)
                                    .setIcon(Icon.createWithResource(MainActivity.this, R.mipmap.ic_launcher))
                                    .setIntent(bubbleIntent)
                                    .build();
    
    
                    builder = new Notification.Builder(MainActivity.this, channel.getId())
                            .setSmallIcon(R.mipmap.ic_launcher)
                            .setBubbleMetadata(bubbleData);
    
    
                    notificationManager.createNotificationChannel(channel);
                    notificationManager.notify(1, builder.build());
                    break;
                case R.id.btnBubble2:
                    target = new Intent(MainActivity.this, BubbleActivity.class);
                    target.putExtra("key","This is the second bubble");
                    bubbleIntent =
                            PendingIntent.getActivity(MainActivity.this, 0, target, PendingIntent.FLAG_UPDATE_CURRENT);
    
                    // Create bubble metadata
                    bubbleData = new Notification.BubbleMetadata.Builder()
                                    .setDesiredHeight(600)
                                    .setIcon(Icon.createWithResource(MainActivity.this, R.mipmap.ic_launcher))
                                    .setIntent(bubbleIntent)
                                    .build();
    
    
                    builder = new Notification.Builder(MainActivity.this, channel.getId())
                            .setContentTitle("Second Bubble")
                            .setSmallIcon(R.mipmap.ic_launcher)
                            .setBubbleMetadata(bubbleData);
    
    
                    notificationManager.createNotificationChannel(channel);
                    notificationManager.notify(2, builder.build());
    
                    break;
            }
    
        }
    }

    Note: While writing this tutorial, the emulator is unable to display the Icons. This should be rectified in upcoming updates of Android Q after the Beta 2 soon.

    注意:编写本教程时,仿真器无法显示图标。 Beta 2即将发布时,即将在Android Q中进行的更新应对此进行纠正。

    We’ve created another activity using the Basic Activity template.

    我们使用“基本活动”模板创建了另一个活动。

    The code for the BubbleActivity.java is given below:

    下面给出了BubbleActivity.java的代码:

    package com.journaldev.androidqbubbles;
    
    import android.os.Bundle;
    
    import com.google.android.material.floatingactionbutton.FloatingActionButton;
    import com.google.android.material.snackbar.Snackbar;
    
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.appcompat.widget.Toolbar;
    import android.view.View;
    import android.widget.TextView;
    
    public class BubbleActivity extends AppCompatActivity {
    
        TextView textView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_bubble);
            Toolbar toolbar = findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
    
    
            textView = findViewById(R.id.textView);
    
            FloatingActionButton fab = findViewById(R.id.fab);
            fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                            .setAction("Action", null).show();
                }
            });
    
    
        }
    
        @Override
        protected void onResume() {
            super.onResume();
    
            if (getIntent() != null && getIntent().getExtras() != null) {
    
                String value = getIntent().getStringExtra("key");
                textView.setText(value);
            }
        }
    }

    Here we update the TextView based on the PendingIntent results from the Notification.

    在这里,我们根据通知的PendingIntent结果更新TextView。

    Note: Do not forget to add the BubbleActivity to the Manifest with the correct attributes as discussed at the beginning of this tutorial.

    注意:不要忘了将BubbleActivity添加到清单中,该属性具有本教程开头所讨论的正确属性。

    The output of the above application in action is given below:

    上面应用程序的输出如下:

    Android Q Notification Bubble Output

    Android Q Notification Bubble Output

    Android Q通知气泡输出

    As you can see, we are able to perform all actions in the BubbleActivity that’s displayed as a floating window.

    如您所见,我们能够执行BubbleActivity中显示为浮动窗口的所有操作。

    That brings an end to this tutorial. You can download the AndroidQBubbles tutorial from the link below or visit our Github Repository for the same.

    这样就结束了本教程。 您可以从下面的链接下载AndroidQBubbles教程 ,或访问我们的Github存储库。

    翻译自: https://www.journaldev.com/28508/android-q-bubbles

    安卓q bubbles

    展开全文
  • 我使用了File.makedir()file.createnewfile()方法,首先申请了权限(这可以肯定),在我的安卓6.0上完美运行,创建了logger.log文件所需文件夹。然而到了安卓10这里费了一番周折,总是无法建立,方法调用返回...

    安卓10 Android Q 权限申请遇到的坑——更严格的动态权限申请和存储权限

    问题描述

    本人刚入安卓app开发的大门,安卓10的权限问题就把我拒之门外。
    我使用了File类的makedir()和createnewfile()方法,还有短信收发权限。首先我在Manifest里申请了权限(这可以肯定),在我的安卓6.0上完美运行,创建了log文件和所需文件夹,还有短信的收发。然而到了安卓10测试机上却费了一番周折,操作总是失败。
    主要原因是新版本的安卓在权限管理上更加严格,开发者无法在安卓其他目录拥有较多的权限,所以一般的开发时都将文件放在外置存储的cache下。也就是手机内置存储中占用极大的Android/data文件夹。

    原因介绍

    这里参考了_YoungMan的原创文章:
    文章网址:https://blog.csdn.net/qq_37199105/article/details/89632476

    Android Q 中删除了READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE两项危险权限,限制 App 只能使用自己的应用空间存放文件。

    当 App 需要保存一些不能随卸载删除的文件时,需要根据存放位置动态申请新增的权限:READ_MEDIA_IMAGES,READ_MEDIA_VIDEO 或 READ_MEDIA_AUDIO(分别对应系统的媒体文件夹)。 比较特殊的是 Downloads 文件夹:写入和读取自身写入的数据不需要申请权限,但想获取其他 App 存进去的文件时,必须使用系统的文件选择器,由用户选择。

    新建文件的方法

    当然,在这之前还需要在manifest里加入读写权限并动态申请啦!不过据说在自己应用的缓存文件夹下的读写不需要外加权限。

    // 这里获取了安卓cache文件夹下分配给该app的目录绝对路径
     logger = new Logger(getBaseContext().getExternalCacheDir().toString());
     
     //这里对文件进行了操作 
    public Logger(String syspath){
            path=syspath+"/filedirname";
            File appDir = new File(path);
            if (!appDir.exists()) {
                appDir.mkdir();
                //Log.i("msg",String.valueOf(appDir.exists()));
            }
            file= new File(appDir, filename);
            try{
                //Log.i("msg",file.getAbsolutePath()+file.isFile()+file.isDirectory());
                file.createNewFile();
    
                outputStream = new FileOutputStream(file);
            }catch (IOException e){
                e.printStackTrace();
            }
     }
    

    动态权限的申请

    Android Q的动态权限为每一个Activity都分配了权限,每个Activity必须为其单独申请权限,否则无法运行。不过也有可能是因为miui的每次申请时“询问”设置导致的。总之我的两台小米在onCreate下都申请了权限,但是在点击按钮后仍然提示权限未申请,在点击按钮的方法下重新ActivityCompat.requestPermissions()就能完美运行了。

     @Override
     public void onRequestPermissionsResult(int permsRequestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
            if (permsRequestCode==reqcode) {
                    if (permissions.equals(permissions_net)&&
                            grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                        SmsManager smsManager=SmsManager.getDefault();
                        smsManager.sendTextMessage(SXSM.sendto,null,SXSM.content,null,null);
                    } else {
                        //logger.writelog(permissions[0]+"request failed");
                    }
                    return;
            }
    }
    
    void getPer(Activity a,String[] pers){
            ActivityCompat.requestPermissions(a,pers,reqcode);
    }
    
    public void getSXMM(View view){
            //发送短信
            if(this.checkSelfPermission(Manifest.permission.SEND_SMS)== PackageManager.PERMISSION_GRANTED) {
                SmsManager smsManager=SmsManager.getDefault();
                smsManager.sendTextMessage(SXSM.sendto,null,SXSM.content,null,null);
                logger.writelog("The message was sent.");
            }else{
                logger.writelog("permission denied");
                getPer(this,permissions_sms);
            }
    }
    
    展开全文
  • 小米MIUI 10新版安卓q系统内测开启 支持机型小米97月11日晚,小米手机系统软件部总监张国全晒出了基于Android Q深度定制的MIUI 10截图(尝鲜机型是小米9)。张国全表示,Android Q MIUI版本已经开始内测,欢迎大家报...

    小米MIUI 10新版安卓q系统内测开启 支持机型小米9

    7月11日晚,小米手机系统软件部总监张国全晒出了基于Android Q深度定制的MIUI 10截图(尝鲜机型是小米9)。

    张国全表示,Android Q MIUI版本已经开始内测,欢迎大家报问题。

    从公布的截图来看,Android Q版MIUI 10界面风格与Android P版本区别不大,看来大招留给了MIUI 11,这次更新最主要是底层升级到Android Q。

    有网友留言,比较关心MIUI 11,不关心Android Q,不过张国全并未回应MIUI 11发布时间。

    根据谷歌公布的信息,Android Q重点加强了隐私功能。在Android Q中,用户可以选择应用程序在后台运行时是否可以访问该位置。当应用程序使用用户位置数据、麦克风或摄像头时,用户在通知栏中看到相应的图标,它会告诉用户哪个应用程序正在使用该权限。

    此外,Android Q还支持暗黑模式。目前该功能早已集成到MIUI 10中,用户可在显示中设置(MIUI 10称之为“深色模式”)。

    原标题:基于Android Q打造 MIUI 10新版曝光

    责任编辑:李晓灵

    展开全文
  • 华为小米OV一加8余款机型率先适配安卓Q伴随着谷歌开发者大会的召开,安卓10个版本Android Q正式发布,Android Q加入原生折叠屏支持;适用5G网络;加入原生夜间深色支持功能,可实现全局暗黑模式;屏幕录制;允许...

    原标题:完整升级安卓10教程!华为小米OV一加8余款机型率先适配安卓Q

    伴随着谷歌开发者大会的召开,安卓第10个版本Android Q正式发布,Android Q加入原生折叠屏支持;适用5G网络;加入原生夜间深色支持功能,可实现全局暗黑模式;屏幕录制;允许降级应用程序更新;引入专注模式,在专注模式,你可以指定运行特定的应用,其他应用将会被限制……因此,喜欢尝鲜的用户是不是已经等不急了?

    aee936306ac72b986355bb5d229caf5c.png

    目前,Android Q Beta版本已首批适配了一加、小米、华为、OPPO、vivo等国产手机厂商。

    cf05130f0c0b794dca39e173445c3cf1.png

    首批具体机型为:华为Mate 20 pro、OnePlus 6T、OPPO Reno、vivo X27、vivo NEX S、vivo NEX A、小米9和小米 MIX 3 5G版。当然这只是首批名单,目前各手机厂商也在扩大适配,如华为目前宣布对其8款手机进行安卓Q升级。

    02aa08e4b493e8d897d58880efbc70e4.png

    各家也是第一时间开放了尝鲜ROM,想第一时间上手的朋友可以通过以下办法来实现升级,不过这里要说明的是,目前版本还有很多问题,不适合日常使用,只能用来体验功能!!!

    华为

    021883a9de7552f1a554b30e25012a9f.png

    华为Mate 20 pro作为华为首款适配机型,其制式和版本要求如上。

    91bc8cc44a570c3129a49c2cad899375.png

    华为Mate 20 pro按图片方法报名OTA尝鲜,华为Mate 20、Mate 20 X 、Mate 20保时捷设计,华为P30、P30 Pro,荣耀V20和荣耀 Magic2等具体通知。

    小米

    65c54aa4b12cc3cae3e4bcf9f6dec7f2.png

    小米9是如今小米手机的最新旗舰,性价比十分高,因此小米选择优先适配这款手机并不意外。而小米MIX3 5G版由于现在并没有在国内上市发售,只在欧洲发售,不过有消息国内版也快开卖了。

    打开小米国际版网页(见上图),下载ROM进行fastboot升级即可。

    OPPO

    95295cfa05b4654b58b6348a682704cb.png

    打开OPPO开放平台,搜索Android Q即可找到升级包和升级办法。

    Android Q Beta版当前所支持的手机为OPPO Reno(型号PCAM00),其他机型暂不支持(例如OPPO Reno 10倍变焦版)。刷成Android Q后如果感觉不满意可以刷回至 ColorOS 6。

    vivo

    c961cd287618e1c5b4e0a7791dff346d.png

    打开vivo开发者平台,搜索Android Q即可找到升级包和升级办法。

    vivo目前适配机型较多,我们也可以使用vivo云测平台远程真机服务,目前已支持 vivo X27,vivo NEX A,vivo NEX S 远程调试及全面测试。

    一加

    OnePlus 6/6T Android Q Beta版安装包将在近期上线,请等待。

    2a1e4ee6d4e4d4f6898c5ae5577b4d9e.png

    最后再次提醒想尝鲜的各位,一定要提前备份好手机内容,且目前版本有不少问题,不适合日常使用,尝鲜完全没有问题!返回搜狐,查看更多

    责任编辑:

    展开全文
  • 华为手机什么时候升级安卓Q?昨天谷歌在开发者大会上正式公布了Android 10,这是谷歌已经...华为手机什么时候升级安卓Q 华为首批适配Android10机型列表华为首批适配Android10机型列表据我们了解,华为首批支持安卓...
  • 安卓Q中google彻底禁止了第三发应用获取imei,并且mac地址返回的地址也变成了02:00:00:00:00:00。 这是官方给出的解决方案: https://developer.android.com/training/articles/user-data-ids 这是官网的截图: ...
  • 按照明年的字母顺序,下一代系统应该就是Android Q了,不出意外也就是Android 10。虽然目前只有华为Mate 20系列、谷歌Pixel 3等少数机型用上了Android 9.0,但谷歌其实已经开始马不停蹄地开发Android Q了。日前,...
  • 原标题:小米9将正式更新安卓Q,适配MIUI11后颠覆MIUI10 面向小米九用户的安卓Q开发版,内测招募公告,意味着小米已经从谷歌获得最新版系统源代码,为旗下各款机型的升级工作进行准备,小米九内测版安卓Q并非原生...
  • 它会告诉用户哪个应用程序正在使用该权限,在Android Q中, 有网友留言,融易资讯网, 张国全表示, 原标题:基于Android Q打造 MIUI 10新版曝光 ,用户可以选择应用程序在后台运行时是否可以访问该位置。...
  • 无论是营销方式,還是系统软件的升級感受,都有点儿类似OPPO先前而言,针对系统更新维护保养也并不那麼友善,大家最普遍的R9s冠军销售量的手机上官其术只是只出示了两个安卓系统的迭代更新,相对性于中国MIUI精英...
  • 周三今天(8日)凌晨,谷歌I/O开发者大会正式开幕,全新的Android Q系统也正式亮相。与此同时,谷歌还公布了首批...Android Q而就在发布Android Q系统后不久,小米手机官方微博就宣布,小米9小米MIX 3 5G版率先...
  • 5月9日消息,近日谷歌在I/O大会透露了Android 10 Q的新功能,随后发布了Android 10 Q的第三个测试版,同时宣布有13个品牌、超过21款手机支持Android 10 Qbeta3。今天上午,华为公布了安卓Q首批升级机型,它们分别是...
  • 原标题:小米9获得MIUI10 9.8.8开发版内测:基于安卓Q!如今,就华为、小米、OPPO、vivo等智能手机厂商,不仅在硬件配置上不断升级,也在软件系统上持续更新优化,以此带给用户更良好的使用体验。,近日,根据多家...
  • IT之家5月8日消息今天早些时候在I/O大会上,谷歌介绍了Android 10 Q中面向消费者的新功能,这些功能将于夏末完成并发布给Pixel设备。现在,谷歌已经推出了该系统的第三个beta版本,并且支持13家制造商的不少于21款...
  • 主要介绍了解决Android 10/Android Q手机在后台无法正常定位问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 手机 篇一:小米9体验安卓Q(附教程)2019-05-10 16:38:2318点赞24收藏21评论故事是这样的:5月8日,谷歌I/O开发者大会正式开幕,全新的Android Q正式亮相。谷歌方面在大会上也分享了Android Q的更多细节,版本号为10...
  • Android Q 不叫 Q,正式命名为 Android 10

    千次阅读 2019-08-24 15:28:04
    根据官方博文,谷歌已经公布了 Android Q 的名称,它并不像以前一样,以甜食命名,也不是以任何以字母 Q 开头来命名,而是简单称它为 Android 10。 该公司表示,正在改变其发布版本的命名方式。该公司写道: 这些...
  • 7月9日,小米9 Android Q Beta版已开启测试。MIUI官方微博宣布,小米9 Android Q Beta版已开启测试,正在招募尝鲜用户。看名字就可以看出,新系统是基于Android Q打造的全新MIUI。小米Android Q适配机型一览。按照...
  • 华为8月9日发布安卓10.0系统 华为EMUI 10.0功能及适配机型 华为安卓系统鸿蒙OS区别根据最新消息显示,华为终端官方再次给出消息称,在8月9日华为开发者大会首天,他们将发布新一代基于Android Q(也叫做Android10.0...
  • 本文510字,阅读时间约2分钟在手机系统界,安卓和iOS是天生的对头,也是目前使用范围最广的两款系统,国产手机的安卓阵营苹果的iOS阵营相比,在前期处于非常弱势的位置,非常卡顿不好用,不过历经多代之后,现在...
  • 原标题:安卓Q首批升级名单公布,华为终于有一款机型支持原生在今天凌晨举行的I/O大会上,谷歌正式发布了新一代Android 系统Android Q。新系统最大的特性就是在用户隐私数据安全做了一系列改进。随后谷歌也是第一...
  • 原标题:小米8 SE开始测试安卓Q系统, 国产第一款一款名为“Xiaomi Mi 8 SE”的设备跑分出现在GeekBench数据库中,这设备应该是小米8 SE,该机的操作系统是Android Q,不过跑分并没有因为新系统而出现明显变化,其...
  • AndroidQ(十)Android Q功能API

    千次阅读 2019-04-28 17:14:37
    Android Q 功能 API Android Q 为用户开发者引入了强大的新功能。本文重点介绍面向开发者的新功能。 要了解新版 API,请阅读API 差异报告或访问Android API 参考。为醒目起见,将突出显示新版 API。此外,请...
  • 原标题:小米8 SE开始测试安卓Q系统,国产第一款爱搞机11月27日消息,日前有网友发现,一款名为“Xiaomi Mi 8 SE”的设备跑分出现在GeekBench数据库中,这设备应该是小米8 SE,该机的操作系统是Android Q,不过跑分...
  • Android Q(10) 文件存储适配

    万次阅读 多人点赞 2019-09-29 18:05:03
    Android Q文件存储机制修改成了沙盒模式,IOS神似 应用只能访问自己沙盒下的文件公共媒体文件 对于Android Q以下,还是使用老的文件存储方式 权限 Android Q不再需要申请文件读写权限,默认可以读写自己沙盒...
  • 原标题:MIUI升级时间表已出炉,这11款手机率先适配安卓Q Android Q 在5月初已经公布,在大会上官方演示人员为我们展示了 Android Q 的强大新特性。小米也在首批适配 Android Q 的手机名单中,小米9作为小米今年的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,875
精华内容 35,550
关键字:

安卓10和安卓q