Kis*_*rya 5 security android android-edittext android-security android-textinputedittext
我有一个包含 MYSDKActivity 的 SDK。在此活动布局中,我有 1 个编辑文本,用户可以在其中输入他的卡号。任何集成此 SDK 的 Android 客户端都可以在其应用程序类中使用ActivityLifecycleCallbacks并在此编辑文本上注册文本观察器,并且可以侦听用户卡号输入。
我想通过 Application 类阻止 SDK 编辑文本的使用。只有我的 SDK 可以访问此编辑文本并执行某些操作。我想阻止在我的 SDK 之外使用。
public class MyDemoApp extends Application implements Application.ActivityLifecycleCallbacks {
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(this);
}
@Override
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {}
@Override
public void onActivityStarted(@NonNull Activity activity) {}
@Override
public void onActivityResumed(@NonNull Activity activity) {
if (activity instanceof MYSDKActivity) {
final TextInputLayout textInputLayout = activity.findViewById(R.id.my_sdk_edit_text);
if (textInputLayout != null) {
ViewGroup textInputLayoutViewGroup = ((ViewGroup) textInputLayout.getChildAt(0));
for (int i = 0; i < textInputLayoutViewGroup.getChildCount(); i++) {
View child = textInputLayoutViewGroup.getChildAt(i);
if (child instanceof TextInputEditText) {
Log.v("USER Input", ((TextInputEditText) child).getText().toString());
((TextInputEditText) child).addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Log.v("USER Input", s.toString());
}
@Override
public void afterTextChanged(Editable s) {}
});
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |