intent

【Android】15.Service的生命周期

泄露秘密 提交于 2019-12-11 14:03:22
15.Service的生命周期 1.下载素材。 本节素材源码,请在公众号回复" AS1210 "。 2.修改MainActivity类。 public class MainActivity extends AppCompatActivity implements View . OnClickListener , ServiceConnection { //声明变量 private Button btnStart ; private Button btnStop ; private Button btnBind ; private Button btnUnBind ; private Intent intent ; @Override protected void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ) ; //实例化控件 setContentView ( R . layout . activity_main ) ; btnStart = findViewById ( R . id . btnStart ) ; btnStop = findViewById ( R . id . btnStop ) ; btnBind = findViewById ( R . id

Android退出程序

╄→尐↘猪︶ㄣ 提交于 2019-12-11 07:47:34
最近学了android开发,发现在有多个activity时,按下返回键并没有退出程序,而只是返回上一个界面,网上找了一些方法也不尽人意,经过自己的一番折腾,终于找到了一种比较实用且简单的方法。废话不多说,下面直接上代码。 Intent intent=new Intent(new,newActivity.class); finish();//加多这一句,即可按下返回键直接退出程序 startactivity(intent); 相比平时的界面跳转,多了一句finish(),该语句简单来说就是结束当前的activtiy,所以每次界面跳转时,都会把前面的界面关闭掉,从而按下返回键时直接退出程序,不再返回上一个界面。 第一次写博客,如果有不对的地方,请大家指出,谢谢大家~ 来源: CSDN 作者: qq_40299125 链接: https://blog.csdn.net/qq_40299125/article/details/103468953

【Openinstall】Android端集成及基本使用

强颜欢笑 提交于 2019-12-10 17:38:00
文章来源: https://blog.csdn.net/mingtiannihao0522/article/details/102705984#android-sdk-%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97 openinstall - 产品概述 1.首先贴出openinstall文档(点我查看) 2.工作流程如下 3.携带参数安装 Openinstall的核心价值在于,帮助Android/iOS开发者精确的获取App每一次安装的分享(或推广)来源。 4.渠道统计 openinstall在精准的App分享来源跟踪的技术上,开发了免打包、跨平台的App推广渠道统计功能。 5.快速安装与一键拉起 Android SDK 集成指南 Android SDK 集成指南 一、下载并导入 SDK 二、初始化 三、功能集成 1. 快速下载 2. 一键拉起 3. 携带参数安装 4. 渠道统计 一、下载并导入 SDK 从 下载中心 下载 Android 最新版本 SDK 从下载的文件中,将 jar 文件拷贝到项目的 libs 文件夹中,并使用 gradle 导入 implementation files('libs/OpenInstall_vX.X.X.jar') 或者导入 libs 目录中所有 jar 文件 implementation fileTree(dir:

AndroidManifest.xml文件解析

本小妞迷上赌 提交于 2019-12-10 08:02:00
一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试) 二、AndroidManifest.xml结构 <?xmlversion="1.0"encoding="utf-8"?> <manifest> <application> <activity> <intent-filter> <action/> <category/> </intent-filter> </activity> <activity-alias> <intent-filter></intent-filter> <meta-data/> </activity-alias> <service> <intent-filter></intent-filter> <meta-data/> </service> <receiver> <intent-filter></intent

Android Activity之间的数据传递

爷,独闯天下 提交于 2019-12-10 07:22:21
1、向目标Activity传递数据: 1 Intent intent=new Intent(this,Main2Activity.class); 2 //可传递多种类型的数据 3 intent.putExtra("name","张三"); 4 intent.putExtra("age",12); 5 startActivity(intent); 2、在目标Activity中取出数据 1 Intent intent=getIntent(); 2 //用getXxxExtra()取出对应类型的数据。取出String只需要指定key 3 String name=intent.getStringExtra("name"); 4 //取出int要指定key,还要设置默认值,当intent中没有该key对应的value时,返回设置的默认值 5 int age=intent.getIntExtra("age",0); 目标Activity销毁时,可以回传数据给上一个Activity: 1、启动目标Activity,并设置一个请求码标识当前Activity 1 Intent intent=new Intent(this,Main2Activity.class); 2 //startActivityForResult()方法可以启动一个Activity

Android开发小札(一)

二次信任 提交于 2019-12-10 02:20:11
这个小札记主要记录了开发中遇到的问题和解决方案,还有一些源码技巧。 • ImageView方法setImageUri导致OOM 获取到本地图片的Uri以后直接通过setImageUri导致了OutOfMemoryError 分析: 使用setImageUri是直接对uri对应的图片进行加载的,如果图片过大,就会造成OOM 解决: 使用Glide加载,或者对图片进行压缩处理后再设置 • 一个HashCode的生成方法 public class Actor { private final int id ; private final String name ; private final int rating ; private final int yearOfBirth ; public Actor ( int id , String name , int rating , int yearOfBirth ) { this . id = id ; this . name = name ; this . rating = rating ; this . yearOfBirth = yearOfBirth ; } // getter @Override public boolean equals ( Object o ) { if ( this == o ) return true ;

Android KeyguardManager或IDevicePolicyManager锁屏

三世轮回 提交于 2019-12-10 01:22:43
‍ ‍ ‍ ‍ ‍ ‍ Android屏幕保护KeyguardManager ‍ ‍ ‍ ‍ ‍ ‍ Android手机一般不用时,都会通过电源键来锁定屏幕同时关闭屏幕灯。 锁定效果: 要让自己的应用实现该屏幕锁定,主要需要用到以下几个类:DevicePolicyManager 这是设备管理的主类。通过它可以实现屏幕锁定、屏幕亮度调节、出厂设置等功能。 DeviceAdminReceiver 该类继承自 BroadcastReceiver 。 从源码可以看到,其实就是实现了一个OnReceive方法,该方法中根据不同的Action,执行相应的操作。 比如,如果激活成功,那么Action就是ACTION_DEVICE_ADMIN_ENABLED, 据此调用 onEnabled 方法。 系统源码: /** * Intercept standard device administrator broadcasts. Implementations * should not override this method; it is better to implement the * convenience callbacks for each action. */ @Override public void onReceive(Context context, Intent intent) {

从头学Android之Service初步二

笑着哭i 提交于 2019-12-09 21:10:44
在上一篇,我们学习了通过startService来启动Service,由于篇幅过长,所以这一篇是接上一篇的 二、bindService方法启动Service 先看 bindSerivce(Intent service,ServiceConnection conn,int flags) 函数 参数说明: service: 通过该参数也就是Intent我们可以启动指定的Service conn: 该参数是一个ServiceConnection对象,这个对角用于监听访问者(也可以说成是客户端)与Service之间的连接情况,当访问者与Service连接成功时将回调ServiceConnection对象的onServiceConnected(ComponentName name,Ibinder service)方法;如果断开将回调onServiceDisConnected(CompontName name)方法 flags: 指定绑定时是否自动创建Service。 步骤: 1、 新建一个类继承于Service类,重写onBind()、onCreate()、onUnBind()、onDestory()方法。再在这个类里声明一个Ibinder的子类对象用于提供于客户端,同时可以定义一些成员变量,客户端可以获取到这个成员变量属性 2、 在AndroidMainfest

Android 系统自动实现开机启动

谁说我不能喝 提交于 2019-12-09 19:14:21
很简单,我们只要实现开机自启动即可,Android实现开机自启动可能是移动操作系统中最简单的了,我们只需要监听一个开机启动的Broadcast(广播)即可。首先写一个Receiver(即广播监听器),继承BroadcastReceiver,如下所示: java代码: public class BootReceiver extends BroadcastReceiver { private PendingIntent mAlarmSender; @Override public void onReceive(Context context, Intent intent) { // 在这里干你想干的事(启动一个Service,Activity等),本例是启动一个定时调度程序,每30分钟启动一个Service去更新数据 mAlarmSender = PendingIntent.getService(context, 0, new Intent(context, RefreshDataService.class), 0); long firstTime = SystemClock.elapsedRealtime(); AlarmManager am = (AlarmManager) context .getSystemService(Activity.ALARM_SERVICE); am

Deeplink实践原理分析

廉价感情. 提交于 2019-12-09 19:10:24
目录介绍 01.先看一个场景 02.什么是DeepLink 03.什么是Deferred DeepLink 04.什么是AppLink 05.DeepLink和AppLink核心技术 06.DeepLink实践方案 07.AppLink实践方案 08.部分问题思考总结 09.DeepLink原理分析 10.AppLink原理分析 01.先看一个场景 假设一个场景: 小明告诉小杨,一鹿有车APP上有一个很有创意的抽奖活动,小新想要参与这个活动 如果小杨已经安装了APP,他需要找到且打开APP,然后找到相应的活动,共计2步; 如果小杨没有安装APP,他需要在应用市场搜索一鹿有车APP、下载、打开APP且找到相应的活动,共计4步; 关于那些途径实现 通过短信息,比如收到脉脉好友信息,通过短信息打开app跳转制定页面。 通过短信息,比如收到天猫推荐消息,通过短信息打开浏览器,然后通过浏览器跳转指定页面。 通过分享到微信中h5页面,在微信中打开app(这个需要到微信开放平台做配置,其实是微信——>应用宝——>app指定页面)。 提出的需求: 在浏览器或者短信中唤起APP,如果安装了就唤起,否则引导下载。对于Android而言,这里主要牵扯的技术就是deeplink,也可以简单看成scheme,Android一直是支持scheme的,本文只简单分析下link的原理,包括deeplink