小编Phi*_*hil的帖子

如何在android清单中创建可浏览的意图?

我有一个Android应用程序,应该打开通过电子邮件发送的链接.不过,我只想打开某个网站的链接.我知道打开youTube链接会为用户提供一个对话框,询问是在浏览器中还是在youTube应用程序中打开它,这就是我想要的.在我的Android清单文件中,我有以下意图过滤器:

    <activity android:name=".MyApp"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:scheme="http"
                  android:host="mySite.com" />

        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

然后,为了处理意图,我在onCreate中有一行:

if (getIntent().getCategories().contains("android.intent.category.BROWSABLE")){...}
Run Code Online (Sandbox Code Playgroud)

问题是像http://mySite.com#12345这样的链接没有以这种方式打开.我究竟做错了什么?

android browsable android-manifest android-intent

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

Intent过滤器不适用于调用屏幕

我正在设计一个自定义呼叫屏幕,以在电话交谈期间在屏幕上显示信息,例如呼叫者的地址簿信息.我的应用程序将在用户通过使用a按下呼叫按钮时开始Intent Filter,之后我将从地址簿中获取其他信息并将其添加到屏幕.

我的问题是,当按下呼叫按钮时,我activity没有启动.我的意图过滤器对吗?是否有可能拦截电话Intent?请分享您处理电话会议的知识.

Intent Filter的如下所示.

<activity android:name=".MyCallingScreen">
  <intent-filter android:priority="100">
    <action android:name="android.intent.action.CALL_BUTTON" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="tel" />
  </intent-filter>
</activity>    
Run Code Online (Sandbox Code Playgroud)

android intentfilter android-manifest android-intent

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

onOptionsItemSelected返回错误的ID

(Newbe)

当我单击菜单时,上面的方法返回第一个菜单中的ID,而不是我点击的ID.如果我检查菜单的标题浓缩,那是正确的.

int id = item.getItemId();   //returns id of an incorrect menu
String Title = (String) item.getTitleCondensed();  //this returns the correct title.
Run Code Online (Sandbox Code Playgroud)

欢迎任何想法.

android menu

5
推荐指数
2
解决办法
2617
查看次数

如何使用Bash在扩展名之前创建带有额外后缀的文件副本?

这个标题有点令人困惑,所以让我分解一下.基本上我有一个包含各种名称和扩展名的完整文件目录:

MainDirectory/
    image_1.png
    foobar.jpeg
    myFile.txt
Run Code Online (Sandbox Code Playgroud)

对于iPad应用程序,我需要创建这些副本,并在扩展名之前附加到所有这些文件名末尾的后缀@ 2X - 所以我最终得到这个:

MainDirectory/
    image_1.png
    image_1@2X.png
    foobar.jpeg
    foobar@2X.jpeg
    myFile.txt
    myFile@2X.txt
Run Code Online (Sandbox Code Playgroud)

我不是手动一次更改一个文件名,而是想创建一个脚本来为我处理它.我目前有以下内容,但它没有按预期工作:

#!/bin/bash

FILE_DIR=.

#if there is an argument, use that as the files directory. Otherwise, use .
if [ $# -eq 1 ]
then
  $FILE_DIR=$1
fi

for f in $FILE_DIR/*
do
  echo "Processing $f"
  filename=$(basename "$fullfile")
  extension="${filename##*.}"
  filename="${filename%.*}"
  newFileName=$(echo -n $filename; echo -n -@2X; echo -n $extension)
  echo Creating $newFileName
  cp $f newFileName
done

exit 0
Run Code Online (Sandbox Code Playgroud)

我也希望将它保持为纯粹的bash,而不是依赖于特定于os的调用.我究竟做错了什么?为了做我需要的,我可以改变什么或代码将起作用?

bash file-io

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

如何在Android中以圆形图案将视图绘制到视图中

我想以编程方式在圆圈或半圆中添加文本,这样的方式是不是使用带有边线的圆圈,而是边缘是单词.有关更好的解释,请参见图像.

文字圈

我怎样才能在Android中执行此操作,或者我可以阅读哪些资源来帮助解决此问题?

android textview android-custom-view

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

如何创建提供Eclipse中源代码链接的Android logcat条目?

可能重复:
有没有办法通过双击自动访问任何登录Logcat?

如果从应用程序向logcatin 印刷警告或错误堆栈跟踪,我可以双击它的一行,以查看源代码中此堆栈跟踪所讨论的位置.有没有办法通过Android或Eclipse SDK打印我自己的带有代码链接的消息?EclipseAndroid

eclipse android logcat

5
推荐指数
0
解决办法
44
查看次数

防止在HTML5中滚动

我想在我的HTML5应用程序中阻止所有形式的页面滚动.我尝试在SO和Google上搜索防止所有滚动机制的一般答案,但一切都非常具体 - 比如如何禁用滚动滚动,或使用箭头键或滚动条本身.

我正在寻找这个的原因是能够div在可见屏幕下创建一个新的,并将其设置为动画(向下.这个MoonBase显示我的意思.),我不希望用户能够滚动看到它.这可能吗?是否有一个meta标签,我可以设置?还是CSS? - 或者,我对动画采取了错误的方法吗?也就是说,如果我只是从侧面进行动画制作(并包含meta标签width=device-width),我的所有问题都会得到解决吗?这是我获得理想行为的最接近的方式吗?

css html5 scroll viewport

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

如何在 jar 中包含 Groovy 扩展方法?

我有一个 groovy 库,我将其作为 jar 文件发布在 Nexus 存储库上。当我使用另一个项目的 Gradle 脚本中的库中的扩展方法时,我收到MissingMethodException

作为参考,假设我有一个 String 扩展方法,例如:

static boolean containsIgnoreCase(String self, String str) {
    self.toLowerCase().contains(str.toLowerCase())
}
Run Code Online (Sandbox Code Playgroud)

如果在我的库中使用调用该方法"foobar".containsIgnoreCase("Foo"),我将得到异常。如果我改为使用 来调用它StringExtensions.containsIgnoreCase("foobar", "Foo"),它就可以工作,没问题。

我的猜测是,这是在没有定义扩展的 META-INF 文件的情况下发布 Groovy 项目的问题。这是项目结构:

- Library
  - src/main/
    - groovy/ 
      - (here are my sources)
    - resources/META-INF/groovy
      - org.codehaus.groovy.runtime.ExtensionModule (contains details about my extension classes)
Run Code Online (Sandbox Code Playgroud)

我的 ExtensionModule 文件如下所示:

moduleName=string-extensions
moduleVersion=1.0
extensionClasses=com.my.project.StringExtensions
Run Code Online (Sandbox Code Playgroud)

在build.gradle的发布块中,我使用以下内容:

plugins {
    id 'groovy'
    id 'java'
    id 'maven-publish'
}

//...

sourceSets {
    main.groovy.outputDir = sourceSets.main.java.outputDir
    test.groovy.outputDir …
Run Code Online (Sandbox Code Playgroud)

java groovy extension-methods gradle maven-publish

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

在 Android 元数据中指定十六进制颜色值

我正在努力让一些元数据在 Android 上工作。最具体地说,我正在获取应用程序级元数据来设置视图的背景,格式如下:

<meta-data android:name="background"
           android:value="red" />

<meta-data android:name="background"
           android:resource="@drawable/my_red_background" />

<meta-data android:name="background"
           android:value="#FF0000" />
Run Code Online (Sandbox Code Playgroud)

我使用以下代码来解析信息:

ApplicationInfo app = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
Bundle metaData = app.metaData;
if (metaData != null) {
    int resourceID = metaData.getInt("background", -1);
    if (resourceID != -1) {
        //set the background resource of my view (THIS WORKS)
    }
    else {
        String background = metaData.getString("background");
        if (background != null) {
        try {
            backgroundColor = Color.parseColor(background);
            //Set background color (THIS WORKS for 'red', 'blue', etc.)
        }
        catch (IllegalArgumentException e) { …
Run Code Online (Sandbox Code Playgroud)

android metadata

3
推荐指数
1
解决办法
1384
查看次数

memcpy 能否正确复制字符串?

我正在努力实现一些低级文件写入,其中文件格式具体到每一位。我需要将一个字符串从一个NSString长度为 16 的空终止字符串复制(根据 Xcode,这是不可分配的)。说到 ,我完全是个菜鸟c,并且想确保我正确理解这一点。这就是我目前正在做的事情:

//I have a non-null NSString called _friendly_name.
const char *string = [_friendly_name UTF8String];
//profile.friendly is a utf-8 null-terminated string
memcpy(&profile.friendly_name, &string, 16);
Run Code Online (Sandbox Code Playgroud)

这尚未经过测试,但我想确保这会起作用。这会提供我期望的行为吗?或者我应该以不同的方式复制字符串(例如strcpy)?

c objective-c memcpy nsstring strcpy

3
推荐指数
1
解决办法
8737
查看次数