我创建了端点apis但问题是任何有我的项目ID的人都可以去api explorer并执行那些api.我在端点类声明之上只放了android客户端ID(使用调试密钥库),但我仍然可以进入隐身模式并执行apis.如何限制apis以便只有我的Android应用程序可以访问而所有其他应用程序将被抛出一些例外?
java security google-app-engine android google-cloud-endpoints
我正在测试带有指纹手势的Pixel设备上的可访问性.我试图使用FingerprintGestureController获取手势回调,但即使在我从Settings-> Accessibility打开此应用程序的辅助功能后,也从未获得任何手势.isGestureDetectionAvailable()总是向我返回false.有人可以请帮助.
这是代码:
my_gesture_service.xml
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagDefault"
android:canRequestFingerprintGestures="true" />
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
<uses-feature android:name="android.hardware.fingerprint"/>
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"/>
<service
android:name="android.gestures.MyService"
android:label="@string/app_name"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/my_gesture_service" />
</service>
Run Code Online (Sandbox Code Playgroud)
MyService.java
public class MyService extends AccessibilityService {
private static final String TAG = MyService.class.getSimpleName();
@Override
public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) {
Log.d(TAG, "onAccessibilityEvent");
}
@Override
public void onInterrupt() {
Log.d(TAG, "onInterrupt");
}
@Override
protected boolean onGesture(int gestureId) {
Log.d(TAG, "onGesture " + gestureId);
return super.onGesture(gestureId);
}
@Override
protected boolean …Run Code Online (Sandbox Code Playgroud) android android-gesture android-accessibility android-fingerprint-api android-8.0-oreo
我在jar中有一个类,我想调用一个方法.但是该方法具有抽象类的参数,而抽象类是jar中类的内部方法.AbstractClassA是一个HIDDEN类.这是代码:
public class A{
private invokeThisMethod(AbstractClassA object){
}
public abstract class AbstractClassA {
public void update(int remaining){}
}
}
public class myClass{
//using Reflection get object of class A
objectOfClassAusingReflection.inovke("invokeThisMethod", params)
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是如何创建AbstractClassA的具体实现来传入invoke方法并获取更新方法回调?
我打算制作一个聊天应用程序,用户可以通过该应用程序发送和接收文本和媒体 - 音频,图像和视频.为简单起见,我决定在GCM中使用app引擎.使用提供的示例指南和Android Studio模板,使用GCM向下游执行似乎运行良好(对于文本消息).当我尝试上游时,我没有收到回复消息.可能这是非常微不足道的,但有人可以指点我一个很好的教程或书.有什么建议?
用于下游:https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/GcmEndpoints 这适用于上游:https://developers.google.com/cloud-messaging/upstream
我试图在AOSP(主分支)中修改FingerprintGestureController API以返回布尔值而不是void,但即使重新编译SDK后,我仍然在构建项目时遇到错误.
错误是:
FAILED: out/target/common/obj/PACKAGING/checkpublicapi-last-timestamp
/bin/bash -c "(( out/host/linux-x86/bin/apicheck -JXmx1024m -J\"classpath /usr/lib/jvm/java-8-openjdk-amd64/bin/../lib/tools.jar:out/host/linux-x86/framework/doclava.jar:out/host/linux-x86/framework/jsilver.jar\" -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 prebuilts/sdk/api/26.txt out/target/common/obj/PACKAGING/public_api.txt frameworks/base/api/removed.txt out/target/common/obj/PACKAGING/removed.txt || ( cat build/core/apicheck_msg_last.txt ; exit 38 ) ) ) && (mkdir -p out/target/common/obj/PACKAGING/ ) && (touch out/target/common/obj/PACKAGING/checkpublicapi-last-timestamp )"
out/target/common/obj/PACKAGING/public_api.txt:2874: error 16: …Run Code Online (Sandbox Code Playgroud) 我正在创建一个矩形框并在其中放置一个可以移动的imageView.在做onMove的时候,我注意到imageView已经超出了我不想要的父视图的边界.我想在它的父视图的边界内限制imageView.怎么做.
这是xml:
<FrameLayout
android:layout_width="400dp"
android:layout_height="400dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:id="@+id/objContainer"
android:background="@android:color/holo_blue_bright" >
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/btn_default" />
</FrameLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
和handletouch事件的代码:
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
final float x = event.getRawX();
final float y = event.getRawY();
// Remember where we started
mLastTouchX = x;
mLastTouchY = y;
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_POINTER_UP:
break;
case MotionEvent.ACTION_MOVE:
final float x1 = event.getRawX();
final float y1 = event.getRawY();
// Calculate the …Run Code Online (Sandbox Code Playgroud) 我的Nexus 5X在Win7机器中没有检测到adb,但它正在Ubuntu机器上运行.我在Win7上有最新的驱动程序(来自Android SDK管理器).它会检测为MTP或相机设备,但不会检测为adb.