Topwo博客
首页
博客
项目
Android
android 安全退出应用程序的几种方法
Android
2023-04-12
## 正常关闭应用程序: 当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: ### 第一种方法:首先获取当前进程的id,然后杀死该进程。 ```java android.os.Process.killProcess(android.os.Process.myPid()); ``` 通过这种方式不能将应用程序完全杀死,并且他不会把当前应用应用的Activity的task任务栈清空 ### 第二种方法:终止当前正在运行的Java虚拟机,导致程序终止
阅读原文>>
Android终止线程的方法
Android
2023-01-17
线程对象属于一次性消耗品,一般线程执行完run方法之后,线程就正常结束了,线程结束之后就报废了,不能再次start,只能新建一个线程对象。但有时run方法是永远不会结束的。例如在程序中使用线程进行Socket监听请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。当需要结束线程时,如何退出线程呢? 有三种方法可以结束线程: 1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止 2. 使用interrupt()方法中断线程 3. 使用stop方法强行终止线程(不推荐使用,可能发生不可预料的结果) 前两种方法都可以实现线程的正常退出,也就是要谈的优雅结束线程;第3种方法相当于电脑断电关机一样,是不安全的方法。
阅读原文>>
billingclient:billing:2.0.3官方封装demo实例
Android
2022-09-02
```java import android.app.Activity; import android.util.Log; import androidx.annotation.Nullable; import com.android.billingclient.api.BillingClient; import com.android.billingclient.api.BillingClientStateListener; import com.android.billingclient.api.BillingFlowParams; import com.android.billingclient.api.BillingResult;
阅读原文>>
smali函数分析
Android
2022-09-02
## 一.函数调用 smali中的函数和成员变量也分为两种,分别为 direct 和 virtual 两者的区别 1.direct method 是指private函数 2.virtual method 是指 protected和 public 函数 3.所以在调用函数时,有invoke-direct,invoke-virtual,另外还有invoke-static、invoke-super以及invoke-interface等几种不同的指令。
阅读原文>>
手游敏感权限说明
Android
2022-07-29
## 敏感权限须知 [工业和信息化部关于开展纵深推进APP侵害用户权益专项整治行动的通知](https://www.miit.gov.cn/jgsj/xgj/wjfb/art/2020/art_734cee9fd3024b9bb37226a344b432b5.html) a. 禁止超范围获取收集敏感信息。 b. 禁止不给权限就不能用的情况。 c. 所有权限必须声明获取的权限内容和使用目的。然后再申请获取。 d. 禁止自启动或关联启动(通过其他app在后台静默启动) e. 敏感权限暂定为:日历,相机,联系人,位置,麦克风,手机,传感器,短信,存储卡权限 f. 所有游戏需按照要求进行整改,未整改私自获取权限的一切损失(包括但不限于行政处罚、罚款、游戏强制下架、损失等),由厂商承担。 g. 上线游戏将对游戏进行权限获取审核.
阅读原文>>
NDK_DEBUG宏的使用
Android
2022-07-15
### Application.mk中添加,注意-D是定义宏,后面跟上宏的名字 ``` ifeq ($(NDK_DEBUG), 1) APP_CFLAGS += -DTOPWO_DEBUG=1 APP_CPPFLAGS += -DTOPWO_DEBUG=1 endif ``` ### c/c++代码中使用 ```c
阅读原文>>
谷歌三件套各版本下载地址
Android
2022-05-18
# 1. 安装google服务框架 [google服务框架下载地址](https://apkpure.com/cn/google-services-framework/com.google.android.gsf/versions) # 2. 安装google play service [google play service下载地址](https://apkpure.com/cn/google-play-services/com.google.android.gms/versions) # 3. 安装google play store [google play store下载地址](https://apkpure.com/cn/google-play-store/com.android.vending/versions)
阅读原文>>
Android开发笔记之compileDebugAidl failed
Android
2022-05-07
```shell * What went wrong: Execution failed for task ':apps:compileDebugAidl'. > 1 exception was raised by workers: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/opt/android-sdk/build-tools/28.0.3/aidl'' ``` 没有执行权限,加下执行权限即可。
阅读原文>>
Android内存泄露检测之LeakCanary的使用
Android
2022-02-14
LeakCanary github地址:[https://square.github.io/leakcanary/](https://links.jianshu.com/go?to=https%3A%2F%2Fsquare.github.io%2Fleakcanary%2F) #### 开始使用 目前为止最新的版本是2.3版本,相比于2.0之前的版本,2.0之后的版本在使用上简洁了很多,只需要在dependencies中加入LeakCanary的依赖即可。而且debugImplementation只在debug模式下有效,所以不用担心用户在正式环境下也会出现LeakCanary收集。 ``` dependencies { // debugImplementation because LeakCanary should only run in debug builds. debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.3'
阅读原文>>
解决Android studio方法数超过65536的问题
Android
2022-01-27
### 也有可能报以下错误 > com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex错误的解决 ## 1. 在app级别的build.gradle文件中,增加如下配置 ```groovy android { defaultConfig { ...... //defaultConfig包内增加下一行 multiDexEnabled true
阅读原文>>
首页
上一页
8
下一页
尾页
文章推荐
android 安全退出应用程序的几种方法
2023-04-12
Android终止线程的方法
2023-01-17
billingclient:billing:2.0.3官方封装demo实例
2022-09-02
smali函数分析
2022-09-02
手游敏感权限说明
2022-07-29