我创造了一个可绘制的圆形形状.我使用它作为我的线性布局的背景.它工作正常.但问题是,我想创建6个不同颜色的圆圈.那么我只能使用一个可绘制的形状并改变其不同圆的颜色吗?
这是我的可绘制圆形
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
>
<solid
android:color="@color/colorPrimary"
/>
<size
android:width="30dp"
android:height="30dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
我想使用不同颜色的可绘制圆形创建此布局.
我想100%保护我的应用程序并且不希望黑客进入内部.
这些是我从Stack Overflow中找到的解决方案.
在应用程序中集成Proguard.
在C/C++中保留代码中最重要的部分.
使用NDK将代码本机编写到.So文件中.
使用MD5加密api密钥.
那么有没有其他方法可以完全保护我的Android应用程序免受黑客攻击,或者这是上述提到的最佳解决方案.
这些是我发现的参考文献
我试图在屏幕锁定时显示活动。我正在后台运行一个服务,当事件发生时,即使应用程序被锁定,我也想打开一个活动(类似于闹钟应用程序,它唤醒屏幕并显示其活动)。我已按照以下步骤操作,
当调用 OnReceive() 时,我想在锁定屏幕上打开活动。
public void OnReceive() {
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "myalarmapp:alarm.");
wl.acquire(5000);
Intent startAlarmActivity = new Intent(MainScreen.this, AcceptScreen.class);
startActivity(startAlarmActivity);
wl.release();
}
Run Code Online (Sandbox Code Playgroud)
在我想展示的活动的 onCreate 方法中添加了以下代码,
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
setShowWhenLocked(true);
setTurnScreenOn(true);
KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
keyguardManager.requestDismissKeyguard(this, null);
}
else {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
Run Code Online (Sandbox Code Playgroud)
在清单中添加了我想要显示的活动,
<activity
android:name=".v2.ui.orderaccept.AcceptScreen"
android:exported="true"
android:label="@string/title_activity_accept_screen"
android:theme="@style/AppTheme.NoActionBar"
android:showOnLockScreen="true"
android:screenOrientation="sensorPortrait"/>
Run Code Online (Sandbox Code Playgroud)
当手机没有锁屏密码时,它可以按预期工作。但当锁屏有密码时就不起作用了。
我已删除了该应用程序的所有敏感权限。
在“合规性”状态中,我选择“ 是”,此版本符合SMS和“呼叫日志”权限策略
在核心功能中,我选择了基于SMS的金融交易和相关活动,其中访问仅限于金融SMS交易(例如5位数字的消息)
并将该应用提交到Playstore。
在审查构建后,该构建被拒绝并获得了此回复,
确定已声明的功能{默认SMS处理程序(以及默认处理程序时使用的其他任何核心功能),默认电话处理程序(以及默认处理程序时使用的其他任何核心功能)}}不必要或与应用程序的核心功能不符。
我没有使用任何敏感权限,但仍拒绝生成。
由于我没有使用核心功能的权限,因此不允许在未选择任何核心功能的情况下进行保存和推出。
因此,如何进行此操作以使构建获得批准。
permissions android publishing google-play android-permissions
我正在使用 Retrofit 进行网络调用。
我正面临签名 APK 的奇怪问题。
改造请求,
@FormUrlEncoded
@Headers("Accept: application/json")
@POST("******")
Call<UserInfoResponse> authenticateUser(@Field("umMobileNumber") String websiteId,
@Field("spPassword") String loginSource);
Run Code Online (Sandbox Code Playgroud)
在上述请求的响应中,我得到了正确的响应,如果我在调试版本上运行它。
但同样的事情,如果我使用签名 APK,我在响应中得到一个空对象。
下面回复,
{
"isValid": true,
"accessToken": "",
"isValidToken": true,
"serviceBean": {
},
"customerExist": false,
"singleSessionFlag": false
}
Run Code Online (Sandbox Code Playgroud)
在 Singed Apk 中,我将 serviceBean 设为 null。
在谷歌上没有得到任何解决方案。
有人可以帮我解决这个问题吗?
android ×5
alarm ×1
alarmmanager ×1
apk ×1
debugging ×1
google-play ×1
json ×1
lockscreen ×1
permissions ×1
publishing ×1
retrofit2 ×1
security ×1