问题描述
我正在尝试创建一个 Android 应用程序,该应用程序在其他应用程序之上覆盖一个按钮,单击该按钮会触发“Page Down”键事件。通过这种方式,人们可以轻松地滚动浏览,例如任何所需的网络浏览器中的网页。
我从 import matplotlib.pyplot as plt
import networkx as nx
totnod = 60
shp_path = "road_exposure.shp"
net = nx.DiGraph()
G = nx.read_shp(shp_path)
# Get Some Nodes
poskey = []
posval = []
pos = {}
posx = {}
i = 0
for k,v in enumerate(G.nodes()):
poskey.append(k)
posval.append(v)
posx = {k: v}
pos.update(posx)
i += 1
if i == totnod:
break
# Get Some Edges
edgsrc = []
edgdst = []
nodeedg = []
i = 0
for x in G.edges():
nodeedg.append(i)
edgsrc.append(x[0])
edgdst.append(x[1])
i += 1
if i == totnod:
break
# Empty graph
X=nx.Graph()
newedg = []
tplkv = ()
for pk in poskey:
indpkey1 = poskey.index(pk)
src = posval[indpkey1]
if src in edgsrc:
indsrc = edgsrc.index(src)
dst = edgdst[indsrc]
inddst = edgdst.index(dst)
pv = nodeedg[inddst]
tplkv = (pk,pv)
newedg.append(tplkv)
print(poskey)
print(newedg)
X.add_nodes_from(poskey)
X.add_edges_from(newedg)
nx.draw_networkx(X,pos)
plt.title('From shapefiles to NetworkX')
plt.show()
中绘制按钮,使用 Service
和 WindowManager
权限在其他应用上绘制。要将 SYstem_ALERT_WINDOW
发送到当前聚焦的窗口(如网络浏览器),我想在 KeyEvent
方法中执行以下操作:
onClick
问题是我认为不可能从我的 BaseInputConnection mInputConnection = new BaseInputConnection(targetView,true);
KeyEvent keyDown = new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_PAGE_DOWN);
KeyEvent keyUp = new KeyEvent(KeyEvent.ACTION_UP,KeyEvent.KEYCODE_PAGE_DOWN);
mInputConnection.sendKeyEvent(keyDown);
mInputConnection.sendKeyEvent(keyUp);
上下文中获取当前聚焦的视图(例如 Web 浏览器的窗口),我需要将其作为 Service
提供给 { {1}}。那是对的吗?还有其他触发按键事件的方法吗?我需要做的就是模拟一个 Page Down 按键,例如一个硬件键盘。
我不认为将应用程序声明为 InputMethod 本身是可行的方法,是吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)