小编Cam*_*ide的帖子

如何从TabHost活动返回结果(startActivityForResult)?

我的例子中有3个类:A类,主要活动.A类调用startActivityForResult:

Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");
Run Code Online (Sandbox Code Playgroud)

B类,这个类是一个TabActivity:

Intent intent = new Intent(this, ClassC.class);
tabHost.addTab...
Run Code Online (Sandbox Code Playgroud)

C类,这个类是一个常规的Activity:

Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();
Run Code Online (Sandbox Code Playgroud)

onActivityResult在类A中调用,但resultCode RESULT_CANCELED代替,RESULT_OK返回的intent为null.如何从TabHost中的Activity返回一些内容?

我意识到问题是我的C类实际上是在B类中运行,而B类是返回RESULT_CANCELED到A类的.我只是不知道一个解决方法.

android android-tabhost android-activity

273
推荐指数
3
解决办法
31万
查看次数

滚动ListView会将所有内容从白色更改为黑色

我有一个自定义列表视图,我希望列表的背景是白色的,所以我做这样的事情,效果很好.

listView = (ListView) this.findViewById(R.id.listview);
listView.setBackgroundColor(Color.WHITE);
Run Code Online (Sandbox Code Playgroud)

问题是当你滚动列表时,所有列表项的背景变为黑色,这看起来很糟糕.

我在列表视图中尝试将背景颜色设置为白色.当我给视图充气时,我也尝试将背景颜色设置为白色:

view.setBackgroundColor(Color.WHITE);
Run Code Online (Sandbox Code Playgroud)

这两个都解决了滚动背景颜色的问题,但现在该项目似乎不是可点击的,即使它是.我的意思是onClick仍然可以正常工作,但背景不闪现橙色让用户知道他点击了它.

如何在列表视图中显示白色背景,滚动时保持白色,并且正常列表活动橙色单击背景?

谢谢!

android

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

创建主页按钮仍然有效的系统覆盖?

我正在尝试创建一个始终在屏幕上的按钮.

  1. 按钮应该是可点击的,按下按钮下面的任何内容都不应该被激活.
  2. 在按钮后面运行的活动或主屏幕应该仍然有效,这意味着用户仍然可以与主屏幕或应用程序进行交互.
  3. 软键按钮仍然可以工作:家庭,后面,菜单等

以下代码执行#1和#2,但软键按钮不再起作用:

WindowManager.LayoutParams params = new WindowManager.LayoutParams(
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
        WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
        WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
        PixelFormat.TRANSLUCENT);
Run Code Online (Sandbox Code Playgroud)

将其更改为此选项会禁用叠加层,但#2和#3会起作用:

WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
Run Code Online (Sandbox Code Playgroud)

最后在这个例子中,点击了叠加层和它后面的内容:

WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
Run Code Online (Sandbox Code Playgroud)

如何更改此设置以使叠加层可以点击,直接在其下面是不可点击的,并且叠加层之外的所有内容都可以使用,包括主页按钮?

执行所有这些的示例应用程序是Super Manager.

更新:我发现以下内容允许使用主页按钮,但仍然不是其他按钮:

        WindowManager.LayoutParams.TYPE_SYSTEM_ALERT | 
            WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
        WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
            WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
Run Code Online (Sandbox Code Playgroud)

,

android

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

以编程方式启用和禁用自动旋转?

有很多很酷的小部件可以启用和禁用手机上的自动旋转功能.禁用它会在手机上的所有应用中关闭它.

有什么想法他们是如何完成它的?

android

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

如何获得LED灯通知?

更新:我正在重新编写Android 3.0之前的兼容性原始帖子.

我正在尝试创建一个简单的通知,除了灯光之外的所有功能都很棒.当通知触发时,我确实关闭了屏幕.使用此弃用的代码声音和振动适用于Android 4.0(Galaxy Nexus)和Android 2.3(HTC EVO).

  • 在2.3 HTC EVO上灯也可以工作.
  • 在4.0 Galaxy Nexus上,灯不起作用.

    Notification notification = 
            new Notification(R.drawable.ic_launcher, "My Ticker!",System.currentTimeMillis());
    notification.setLatestEventInfo(context, "My Title", "My Message", pendingIntent);
    notification.defaults |= Notification.DEFAULT_SOUND;
    notification.defaults |= Notification.DEFAULT_VIBRATE;
    
    //notification.defaults |= Notification.DEFAULT_LIGHTS;
    
    notification.ledARGB = 0xff00ff00;
    notification.ledOnMS = 300;
    notification.ledOffMS = 1000;
    notification.flags |= Notification.FLAG_SHOW_LIGHTS;
    
    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    
    Run Code Online (Sandbox Code Playgroud)

我还尝试了不属于v4兼容性库的新API,因此我只能在Galaxy Nexus上测试它.振动和声音再次起作用但不起作用.

Notification.Builder builder = new Notification.Builder(context);
        builder.setContentIntent(pendingIntent)
            .setSmallIcon(R.drawable.ic_launcher)
            .setTicker("My Ticker")
            .setWhen(System.currentTimeMillis())
            .setAutoCancel(true)
            .setDefaults(Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND | Notification.FLAG_SHOW_LIGHTS)
            .setLights(0xff00ff00, 300, 100)
            .setContentTitle("My Title 1")
            .setContentText("My Text 1");
        Notification notification = …
Run Code Online (Sandbox Code Playgroud)

android

22
推荐指数
4
解决办法
5万
查看次数

Crashlytics已弃用方法已禁用()

使用Crashlytics + Fabric for Android时,有一种非常简单的方法可以启用和禁用崩溃报告.我使用它,所以在开发和测试期间,没有大量的崩溃警告每个人.

Crashlytics crashlytics = new Crashlytics.Builder().disabled(true).build();
Run Code Online (Sandbox Code Playgroud)

现已弃用disabled(boolean)方法.有没有人知道替换是用于以编程方式禁用和启用crashlytics的?

android crashlytics

21
推荐指数
1
解决办法
5075
查看次数

在所有其他应用程序之上运行的Android应用程序?

在今天之前我会说这是不可能的,让一个应用程序覆盖在其他一切之上:主屏幕,应用程序,拨号器等.

如果您尝试免费应用程序"超级经理",它就是这样做的.它有一个图标和小部件像屏幕,将始终和任何地方显示.当图标或小部件在屏幕上时,您仍然可以与在其后面运行的应用程序进行交互.

这怎么可能,我们如何重新创建这个功能?

更新:这是一些实际的图像.您可以看到叠加的应用程序作为Dolphin顶部的小箭头运行.然后当你按它时,你可以看到应用程序作为一个大小部件运行.即使在窗口小部件启动时,您仍然可以与后台应用程序进行交互.在此示例中,dolphin是后台应用程序.

图片1

替代文字

android

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

写入/ res/drawable /动态?

我的小部件从中读取图像/res/drawable/.

我希望能够更改图像并将其写回/res/drawable/结构.

这可能吗?

android

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

从小部件刷新显示?

我试图从小部件设置屏幕亮度.我们知道这很容易实现,因为大量的小部件已经这样做,但是如何......

在我从小部件调用的服务中,我这样做来设置亮度:

Settings.System.putInt(this.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 200);
Run Code Online (Sandbox Code Playgroud)

除非它不"刷新"屏幕以应用新设置,否则效果很好.关闭和打开屏幕会刷新显示设置,因此我们知道代码有效.

我还在几个网站上看到这样的东西会刷新屏幕,但我们不能使用它,因为我们在一个小部件中.窗口小部件活动和服务不能使用getWindow.

WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 100 / 100.0f;
getWindow().setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)

除了Beautiful Widgets,Power control,Extended controls等所有这些小工具还有什么用呢?

更新:另一张海报建议启动空活动并执行WindowManager刷新.这样可行,但它会在一秒钟内出现一个丑陋的黑屏.由于其他小部件不这样做,必须有一种方法来防止丑陋的空白黑屏显示.

android

10
推荐指数
1
解决办法
3049
查看次数

Nexus One - Android 2.1发布,WHERE是2.1的SDK?

Nexus安卓手机今天开始销售2.1 Os.我的朋友刚刚订购了两个隔夜送货.我认为这意味着明天或第二天它将在他手中.

在开发人员触摸SDK之前,人们手中有2.1可以接受甚至远程接受吗?我已经有用户使用Nexis-Droid 2.1 rom说我的高度使用的小部件不起作用.如何在不破坏手机的情况下提前测试出来?

当应用程序无法运行时,所有这些都会让用户感到沮丧,并且由于开发人员没有机会更新代码,因此会进一步降低市场价格.

谢谢谷歌....

android

8
推荐指数
1
解决办法
835
查看次数