导航:首页 > 操作系统 > android界面提示

android界面提示

发布时间:2022-10-01 08:56:23

android 进入一个页面的时候系统会自动弹出一个提示框,怎样判断当前页面是否有这个提示框

这个框你一般是不需要去搭理的,如果是类似系统权限的东东,可以使用回调函数,如果系统给与权限,即yes,程序进行相应操作;如果系统不给于权限,即no,程序进行其他操作。具体看你具体的需求了。

Ⅱ Android 从点击应用图标到界面显示的过程

[转] 一篇文章看明白 Android 从点击应用图标到界面显示的过程 (遵循CC 4.0 BY-SA版权协议)

从点击桌面应用图标到应用显示的过程我们再熟悉不过了,下面我们来分析下这个过程都做了什么。

本文主要对以下问题分析:

如不了解 Android 是如何从开机到 Launcher 启动的过程,请先阅读 Android - 系统启动过程

我们知道 Android 系统启动后已经启动了 Zygote,ServiceManager,SystemServer 等系统进程;ServiceManager 进程中完成了 Binder 初始化;SystemServer 进程中 ActivityManagerService,WindowManagerService,PackageManagerService 等系统服务在 ServiceManager 中已经注册;最后启动了 Launcher 桌面应用。

其实 Launcher 本身就是一个应用程序,运行在自己的进程中,我们看到的桌面就是 Launcher 中的一个 Activity。

应用安装的时候,通过 PackageManagerService 解析 apk 的 AndroidManifest.xml 文件,提取出这个 apk 的信息写入到 packages.xml 文件中,这些信息包括:权限、应用包名、icon、apk 的安装位置、版本、userID 等等。packages.xml 文件位于系统目录下/data/system/packages.xml。

同时桌面 Launcher 会为安装过的应用生成不同的应用入口,对应桌面上的应用图标,下面分析点击应用图标的到应用启动的过程。

点击 Launcher 中应用图标将会执行以下方法

在 system_server 进程中的服务端 ActivityManagerService 收到 START_ACTIVITY_TRANSACTION 命令后进行处理,调用 startActivity() 方法。

从 Launcher 点击图标,如果应用没有启动过,则会 fork 一个新进程。创建新进程的时候,ActivityManagerService 会保存一个 ProcessRecord 信息,Activity 应用程序中的AndroidManifest.xml 配置文件中,我们没有指定 Application 标签的 process 属性,系统就会默认使用 package 的名称。每一个应用程序都有自己的 uid,因此,这里 uid + process 的组合就可以为每一个应用程序创建一个 ProcessRecord。每次在新建新进程前的时候会先判断这个 ProcessRecord 是否已存在,如果已经存在就不会新建进程了,这就属于应用内打开 Activity 的过程了。

进程创建成功切换至 App 进程,进入 app 进程后将 ActivityThread 类加载到新进程,并调用 ActivityThread.main() 方法

此时只创建了应用程序的 ActivityThread 和 ApplicationThread,和开启了 Handler 消息循环机制,其他的都还未创建, ActivityThread.attach(false) 又会最终到 ActivityMangerService 的 attachApplication,这个工程其实是将本地的 ApplicationThread 传递到 ActivityMangerService。然后 ActivityMangerService 就可以通过 ApplicationThread 的代理 ApplicationThreadProxy 来调用应用程序 ApplicationThread.bindApplication,通知应用程序的 ApplicationThread 已和 ActivityMangerService 绑定,可以不借助其他进程帮助直接通信了。此时 Launcher 的任务也算是完成了。

在 system_server 进程中的服务端 ActivityManagerService 收到 ATTACH_APPLICATION_TRANSACTION 命令后进行处理,调用 attachApplication()。

发送送完 SCHEDULE_LAUNCH_ACTIVITY_TRANSACTION 命令,还会发送 BIND_APPLICATION_TRANSACTION 命令来创建 Application。

在 app 进程中,收到 BIND_APPLICATION_TRANSACTION 命令后调用 ActivityThread.bindApplication()。

ApplicationThreadProxy.bindApplication(…) 会传来这个应用的一些信息,如ApplicationInfo,Configuration 等,在 ApplicationThread.bindApplication 里会待信息封装成AppBindData,通过

将信息放到应用里的消息队列里,通过 Handler 消息机制,在 ActivityThread.handleMeaasge 里处理 H.BIND_APPLICATION 的信息,调用 AplicationThread.handleBindApplication。

Instrumentation:

这时 Application 就创建好了,这点很重要,很多资料里说 Application 是在performLaunchActivity() 里创建的,因为 performLaunchActivity() 也有mInstrumentation.newApplication 这个调用,newApplication() 函数中可看出会先判断是否以及创建了 Application,如果之前已经创建,就返回已创建的 Application 对象。

上面 fork 进程时会发送 SCHEDULE_LAUNCH_ACTIVITY_TRANSACTION 命令,在 app 进程中,收到 SCHEDULE_LAUNCH_ACTIVITY_TRANSACTION 命令后调用 ApplicationThread.scheleLaunchActivity()。

与 Window 进行关联,具体过程详见: Activity,Window,View 之间的关系

Activity 的整体启动流程如图所示:

Ⅲ Android客户端下载温馨提示:如果自动弹出页面无法下载客户端,请手动打开手机

出现该提示是因为手机日期时间不正确或者就是浏览器的设置问题。
解决方法:
1、在手机联网的情况下,依次这样操作【设置--日期和时间】,开启自动设定日期和时间、自动设定时区,确定手机时间正确。
2、找到【隐私与安全】,把【显示安全警告】这一项给关闭掉。
Android客户端,是为手机为Android系统的用户准备的客户端,集阅读、发布、评论、转发、私信、关注等主要功能为一体。

Ⅳ android可以在锁屏界面上显示消息通知么

安卓手机锁屏后收不到通知提示/内容的处理方法:
情况1:在锁屏状态下终端会自动断开移动数据/WLAN的网络连接。WLAN设置:进入【设置】-【WLAN】-【高级设置】-【在休眠状态下保WLAN连接】开关开启即可。移动数据:进入【设置】-【移动网络】-【始终连接数据】开关开启即可。
情况2:在锁屏状态下能听到通知声音,但是锁屏状态看不到通知内容,解锁后可见。可通过设置菜单或自带管家类的【通知管理】功能,设置具体应用的锁屏通知权限。

Ⅳ 关于Android界面组件的基本用法

1.文本框(TextView)和编辑框(EditText)
文本框(TextView)不允许用户编辑文本内容,而编辑框(EditText)允许用户编辑文本内容

2.按钮(Button)和图片按钮(ImageButton)
Button显示文字,ImageButton显示图片。
为ImageButton指定android:text属性没用,不会显示文字
可以指定android:background为按钮增加背景图片,但这图片是固定的
可以指定android:src为图片按钮增加图片属性
其实,src才是设置图标,而background只是设置背景。
如果控件的大小是100 100 图片资源是80 80的话,那么用src,图片就会居中显示,如果使用background那么图片就会被拉伸充满控件。
重要的是,background是底层的图片资源,src是覆盖在background上面的资源,他们可以叠加使用,实现选中的效果。

3.单选按钮(RadioButton)和复选框(CheckBox)
多了一个android:checked属性,用于指定初始时是否被选中

4.计时器组件Chronometer用法
红色字体表示常用的方法

5.图像视图(ImageView)
它支持属性android:scaleType setScaleType(ImageView.ScaleType)

matrix(ImageView.ScaleType.MATRIX):使用matrix方式进行
fixXY(ImageView.ScaleType.FIX_XY):对图片横向纵向独立缩放,会改变纵横比
fitStart(ImageView.ScaleType.FIT_START):保持纵横比,图片较长的边长与ImageView相应的边长相等,缩放后放在左上角
fitCenter(ImageView.ScaleType.FIT_CENTER):保持纵横比,图片较长的边长与ImageView相应的边长相等,缩放后放在中央
fitEnd(ImageView.ScaleType.FIT_END):保持纵横比,图片较长的边长与ImageView相应的边长相等,缩放后放在右下角
center(ImageView.ScaleType.CENTER):放中间,不缩放
centerCrop(ImageView.ScaleType.CENTER_CROP):保持纵横比,使图片能完全覆盖ImageView
centerInside(ImageView.ScaleType.CENTER_INSIDE):保持纵横比,使ImageView能完全显示图片
6.spinner的功能和用法
如果可以确定spinner里面的列表项,那么直接在/res/layout/main.xml里面指定

然后在/res/value/string.xml里面指定

如果不确定里面的列表项,那么必须要提供一个Adapter,这个Adapter负责决定Spinner列表每项的内容

7.日期、时间选择器(DatePicker和TimePicker)

8.自动完成文本框(AutoCompleteTextView)
比普通文本框多了一个功能:当用户输入一定字符后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个菜单后,组件会按用户选择自动填写该文本框
使用该组件很简单,只要为它设置一个Adapter,该Adapter封装了AutoCompleteTextView预设的提示文本

9.进度条(ProgressBar)
通过style属性可以为ProgressBar指定风格。该属性可以有如下的属性值:

1.@android:style/Widget.ProgressBar.Horizontal 水平进度条
2.@android:style/Widget.ProgressBar.Inverse 不断跳跃、旋转画面的进度条
3.@android:style/Widget.ProgressBar.Large 大进度条
4.@android:style/Widget.ProgressBar.Large.Inverse不断跳跃、旋转画面的大进度条
5.@android:style/Widget.ProgressBar.Small 小进度条
6.@android:style/Widget.ProgressBar.Small.Inverse不断跳跃、旋转画面的小进度条
ProgressBar提供如下方法来操作进度

1.setProgress(int) 设置进度的完成百分比
2.incrementProgressBy(int) 设置进度条的增加或减少。参数为正增加,参数为负减少

10.选项卡(TabHost)
TabHost仅仅只是一个简单的容器,它提供如下方法

1.newTabSpec(String tag) 创建选项卡
2.addTab(TabHost.TabSpec tabSpec) 添加选项卡
使用TabHost的一般步骤为:

• A. 在界面中定义TabHost组件,并为该组件定义该选项卡的内容
• B. Activity应该继承TabActivity
• C. 调用TabActivity的getTabHost()来获取TabHost对象
• D. 通过TabHost对象的方法来创建选项卡、添加选项卡
选项卡主要由TabHost、TabWidget、FrameLayout3个组件组成,三者缺一不可,想象一下选项卡的特点,多个卡重叠在一起,所以用FrameLayout即帧布局是必要的。另外需要注意的是TabHost、TabWidget、FrameLayout三个组件的android:id必须使用系统默认的名称,而不能自己随意定义,否则会出错。

11.图像切换器(ImageSwitcher)

12.网格视图(GridView)
使用GridView一般指定numColumn大于1,否则取默认值为1.那么GridView就变成了ListView
属性android:stretchMode支持如下属性

1.none 不拉伸
2.spacingWidth 仅拉伸元素之间的间距
3.spacingWidthUniform 表格、元素之间的间距一起拉伸
4.columnWidth 仅拉伸表格
13.画廊视图(Gallery)(现在已经被弃用了,不过还是列出来吧)
Gallery用法很简单——为它提供一个内容Adapter,该Adapter的getView方法所返回的View可作为Gallery的列表项。可以通过OnItemSelectedListener监听选择项的改变

14.列表试图(ListView和ListActivity)
1.创建ListView由两种方式:

2.直接使用ListView进行创建
让Activity继承ListActivity(继承了ListActivity的类无需调用setContentView()来显示页面,可以直接设置适配器)
一旦获得ListView后,就要创建显示的列表项了。需要借助内容Adapter,内容Adapter负责提供需要显示的列表项

创建ArrayAdapter时必须指定一个textViewResourceId,该参数决定每个列表项的外观

1.simple_list_item_1 每个列表项是普通的TextView
2.simple_list_item_2 每个列表项是普通的TextView(字体略大)
3.simple_list_item_checked 每个列表项是已勾选的列表项
4.simple_list_item_multiple_choice 每个列表项是带多选框的文本
5.simple_list_item_single_choice 每个列表项是带多单选按钮的文本
15.使用AlertDialog
1.创建AlertDialog.Builder对象,该对象是AlertDialog的创建器
2.调用AlertDialog.Builder方法为对话框设置图标、标题等
3.调用AlertDialog.Builder的create()方法创建AlertDialog对话框
4.调用AlertDialog的show()方法显示对话框

16.使用Toast显示提示框
步骤如下:

• 调用Toast构造器或makeText方法创建Toast对象
• 调用Toast方法来设置该消息的对齐方式等
• 调用Toast的show()方法显示出来
• Toast toast = Toast.makeText(ToastTest.this, "信息", Toast.LENGTH_LONG).show();

17.Notification(一般显示网络状态、电池状态、时间等)
使用Notification发送Notification步骤:

• 调用getSystemService(NOTIFICATION_SERVICE)方法获取系统的Notification Manager服务
• 通过构造器创建一个Notification对象
• 为Notification设置属性
• 通过Notification Manager发送Notification

Ⅵ 华为手机恢复出厂设置后开机一直停留在android这个界面,怎么办

解决方案:
请先等待20分钟以上看是否可以进入系统,升完级后开机,系统会进行初始化,并且如果升级前安装的应用过多,可能导致开机需要的时间比较久。
如果等待结束仍无法进入系统,请尝试如下方法:
1、长按电源键,手机强制重启后重试。
(以下2和3操作均会清除手机的所有数据,请您谨慎操作)
2、长按音量上键+电源键检查是否能进入Recovery模式,如果可以,选择恢复出厂设置格式化用户空间进行修复。
3、通过华为手机助手修复或通过 eRecovery 恢复手机系统版本。
如果以上方法均无法解决,请到附近的华为客户服务中心检修,具体价格要以华为客户服务中心的最终检测的结果为准。
华为客户服务中心地址信息查询方法如下:
1、 通过手机自带会员服务APP里面的“服务--服务网点”页面,可以帮查询到最近的服务中心;
2、也可以在华为商城官网页面最下方有售后网点查询地址入口;
3、微信中关注“华为终端客户服务”公众号,在“服务支持”中点击“服务中心查询”也可以查询。
注:如果您之前没有备份数据,维修过程中手机数据可能会丢失。

Ⅶ Android 页面关闭时,弹出提示框。我怎么获取他点的是确定还是取消

AlertDialog alert = new AlertDialog.Builder(XXX.this).setTitle("提示")
.setMessage("确定要退出么?")
.setPositiveButton("确定",new DialogInterface.OnClickListener() {//设置确定按钮
@Override//处理确定按钮点击事件
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.setNegativeButton("取消",newDialogInterface.OnClickListener() {//设置取消按钮
@Override//取消按钮点击事件
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();//对话框关闭。
}
}).create();
alert.show();

Ⅷ android中如何在界面右下角弹出类似QQ的提示消息

我觉得应该是fragment实现的~~fragment就相当于在该Activity中再嵌套一个小型Activity,可以做到Activity可以做到的所有事~~可以去网络fragment怎么用的。
不过提醒下,fragment是3.0以后才自带的,3.0之前要用的话得引入support包~~

Ⅸ 我用eclipse开发android程序时,写界面文件时发现自动提示不全,很多都没有。比如 android:="@+id/"

很有可能是你的xml打开的视图不对。

右键你的xml文件,选择从上到下第三个openwith,选择AndroidlayoutEditor,然后你再试试。

Ⅹ android 引导页提示框界面怎么做

用弹出窗口PopupWindow,里面放你的控件,还有设置自定义的背景,把不用的部分做成透明的

阅读全文

与android界面提示相关的资料

热点内容
手机怎么创建minecraft服务器 浏览:487
LCD在python中 浏览:980
小电影的网站谁知道 浏览:66
香港男女出轨开房遇见的电影名字 浏览:372
单片机stm使用说明书 浏览:641
手机百度android开发 浏览:957
男主怀孕生子女尊 浏览:296
邵氏3级电影 浏览:320
男主角叫安迪的电影 浏览:77
建德盛德电影院今日电影 浏览:90
谁有在线观看的网站 浏览:644
午夜不卡电影 浏览:761
python字符串unicode编码 浏览:7
电影加密的软件 浏览:729
鬼王镜奴的古装电影 浏览:35
python3module 浏览:498
韩国李彩谭作品 浏览:931
python爬虫gif 浏览:862
重生收母 浏览:540
都市之开局被10个老婆宠成 浏览:233