小编cor*_*OLO的帖子

创建系统覆盖窗口(始终在顶部)

我正在尝试创建一个始终操作顶部按钮/可点击图像,它始终位于所有窗口的顶部.

概念证明是

我已经成功并且现在有一个正在运行的服务.该服务始终在屏幕的左上角显示一些文本,而用户可以正常方式与其他应用程序自由交互.

我正在做的是子类ViewGroup并将其添加到带有标志的根窗口管理器TYPE_SYSTEM_OVERLAY.现在我想添加一个按钮/可点击图像来代替这个文本,它可以自己接收触摸事件.我尝试覆盖整个"onTouchEvent",ViewGroup但它没有收到任何事件.

如何仅在我的常见顶视图组的某些部分接收活动?请建议.

public class HUD extends Service {
    HUDView mView;

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Toast.makeText(getBaseContext(),"onCreate", Toast.LENGTH_LONG).show();
        mView = new HUDView(this);
        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                0,
//              WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
//                      | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
                PixelFormat.TRANSLUCENT);
        params.gravity = Gravity.RIGHT | Gravity.TOP;
        params.setTitle("Load Average");
        WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
        wm.addView(mView, params);
    }

    @Override
    public void …
Run Code Online (Sandbox Code Playgroud)

android overlay

279
推荐指数
9
解决办法
23万
查看次数

当被调用的Activity退出时,如何以"自然的方式"返回结果?

什么工作正常

我的应用程序中有2个活动.第一项活动称第二次获得结果.

第二个活动显示新布局,并允许用户执行某些操作.有一个"确定"按钮.当用户按下此按钮时,第二个活动结束,用户返回第一个活动.

在引擎盖下,第一个活动调用第二个活动,如下所示:

Intent intent = new Intent(this, NextAct.class);
intent.putExtra("input", input);
this.startActivityForResult(intent, 99);
Run Code Online (Sandbox Code Playgroud)

按"确定"按钮,第二个活动返回结果如下:

Intent intent = new Intent();
intent.putExtra("output", output);
setResult(RESULT_OK, intent);
finish();
Run Code Online (Sandbox Code Playgroud)

之后,第一个活动的onActivityResult被成功调用结果:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // requestCode is 99
    // resultCode is -1
    // data holds my output
}
Run Code Online (Sandbox Code Playgroud)

以上设置工作正常

什么不起作用

现在我有一个简单的要求,我希望用户不要使用"OK"按钮关闭第二个活动,而是以"HARDWARE BACK"按钮自然地关闭.

我尝试在第二个活动的onStoponDestroy方法中移动setResult逻辑,但事实证明第一个活动的onActivityResult在第二个活动的onStoponDestroy方法之前被调用,因此setResult逻辑根本没有机会运行.

然后我尝试在第二个活动的onPause方法中移动setResult逻辑,就像这样

protected void onPause() {
  super.onPause(); …
Run Code Online (Sandbox Code Playgroud)

android

10
推荐指数
2
解决办法
7608
查看次数

如何获取联系人照片URI

我正在使用Android Contact ContentProvider.我有一个电话号码,我需要得到URI中的照片与该电话号码相关联的接触.我该怎么做???

我知道我可以获取照片的原始数据并构建一个InputStream,但我不想要输入流,我需要URI.

编辑:最初我使用以下代码来获取联系信息

    Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNo));
    Cursor cursor = context.getContentResolver().query(uri, details, null, null, null);
Run Code Online (Sandbox Code Playgroud)

android android-contentprovider

10
推荐指数
3
解决办法
2万
查看次数

脚本权限错误,即使启用了CORS也是如此

我的页面P1上有一个iframe,它托管在服务器S1上.在运行时,我会iframe.src=在iframe中加载托管在服务器S2上的页面P2.

我知道CORS和服务器S2上的P2页面,我已经设置了Access-Control-Allow-Origin: *,当我在浏览器中查看时,我可以在响应头上确认相同的内容.

现在页面P2及其所有资产只加载文件,但是当我尝试从P1访问P2的DOM时window.frames["iframe"].document,它会抛出权限错误.

即使我Access-Control-Allow-Origin: *在服务器S2上设置,为什么我仍然无法访问P2的DOM?这Access-Control-Allow-Origin: *是应该工作的方式吗?

请求 - 响应

javascript cross-domain cors

9
推荐指数
1
解决办法
381
查看次数

请为VC++ 2008建议一个很好的加密库

我正在做一个小项目,需要你的帮助.以下是详细信息:

  • 我的项目是在VC++ 2008中
  • 我需要以加密形式存储我的项目exe的一些关键资源文件包
  • 运行exe时,我想动态解密并使用这些文件(不将解密文件存储在临时位置)
  • 有问题的文件是二进制文件
  • 项目小而简单
  • 加密可以是简单或适度安全的

我正在为一个简单的项目寻找一个加密库/ sdk/toolkit,该库应该有以下要求

  • 它应该小而且易于使用,我不需要很多功能,而且我的开发时间很短
  • 它应该是免费使用的
  • 它应该能够解密流,或者直接在内存中解密文件而不将它们存储在任何临时位置
  • 它应该有很好的教程/示例/社区支持,我缺乏开发时间
  • 它应该支持多种加密策略,以便我可以在需要时切换到更好的算法,而无需更改库

我是加密库的新手,请提出你的建议,我将自己做背景研究.

编辑

另外,你能建议一个在EXE中隐藏我的密钥的好方法吗?这是一个没有任何注册或安装的点击运行应用程序.

c++ encryption

6
推荐指数
1
解决办法
7021
查看次数

使用JavaScript创建"文本选择"功能(如触摸屏浏览器中所示)

我需要在javascript中创建以下功能:

  1. 用户应该能够进入文本选择模式(通过长按一个单词或单击一个专用按钮,用户进入文本选择模式的方式并不重要)
  2. 一旦进入文本选择模式,选择开始结束将出现两个句柄,这将允许用户扩展选择(用户将能够拖动句柄图像以扩展选择)
  3. 所选文本将以突出显示模式显示

以下是Android 3.0浏览器中相同功能的示例: 在此输入图像描述

我需要使用Javascript创建相同的功能.我试图搜索"javascript文本选择",但无法找到任何有用的东西.有人可以建议我如何做到这一点或指向我任何现有的工作?非常感谢.

javascript

5
推荐指数
1
解决办法
1064
查看次数

无法通过ID在TabHost中添加视图,崩溃

我创建了一个带有1个选项卡的TabHost示例,该选项运行正常.我正在使用TabSpec.setContent(TabHost.TabContentFactory contentFactory)TabContentFactory的选项卡中添加视图

但是一旦我尝试使用TabSpec.setContent(int viewId)使用视图/资源ID在选项卡中添加选项卡,我的应用程序崩溃了.代码如下:

public class MainAct extends TabActivity implements TabContentFactory{
    protected Resources res;
    protected ListView listView;
    protected LayoutInflater inflater;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    /*init*/
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        res = getResources();
        listView = new ListView(this);

    /*prepare tabs*/
        TabHost tabHost = getTabHost();
        TabSpec spec;

        spec = tabHost.newTabSpec(res.getString(R.string.label_project));
        spec.setIndicator(res.getString(R.string.label_project));
        spec.setContent(this); // << this works perfect
        //spec.setContent(R.id.list_item); // << CRASHES
        //spec.setContent(R.id.list_item2); // << CRASHES
        tabHost.addTab(spec);
    }

    @Override
    public View createTabContent(String tag) {
        return listView; …
Run Code Online (Sandbox Code Playgroud)

android

0
推荐指数
1
解决办法
3365
查看次数