小编erd*_*lal的帖子

自定义通知布局和文本颜色

我的应用程序显示了一些通知,并且根据用户首选项,它可能会在通知中使用自定义布局.它运作良好,但有一个小问题 - 文本颜色.股票Android和几乎所有制造商皮肤都使用黑色文本作为通知文本的浅色背景,但三星没有:他们的通知下拉具有深色背景,默认通知布局中的文本是白色.

所以这会导致一个问题:不使用任何花哨布局的通知显示正常,但使用自定义布局的通知很难阅读,因为文本是黑色而不是默认白色.即使官方文档只是#000为a 设置颜色TextView,所以我找不到任何指针.

用户很友好地截取问题的屏幕截图:

截图

那么如何在布局中使用设备的默认通知文本颜色?我宁愿不开始根据手机型号动态改变文本颜色,因为这需要大量更新,而定制ROM的人可能仍会遇到问题,具体取决于他们使用的皮肤.

notifications android android-notifications

79
推荐指数
5
解决办法
6万
查看次数

在可分发的Jar文件中打包Android资源文件

我正在研究一些可重用的Android代码,我想将其分发给其他开发人员,以便在他们自己的应用程序中使用.代码有一些资源依赖(layouts,xml和png drawables),我希望能够在单个包(Jar文件)中包含和引用.

这是可能的,如果是这样,最好的方法是什么?

android android-resources

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

Android库Manifest与App Manifest

我在这里已经阅读了类似的问题,但我仍然不清楚几件事情.使用库项目意味着我的整个项目将有两个清单 - 一个用于库,另一个用于"主"应用程序项目 - 我不清楚是什么或哪些有冗余.

我正在开发一个带有"精简"和"付费"版本的应用程序小部件,因此几乎所有代码都在库项目中.作为一个小部件,该库至少会有一个接收器,一个服务,一个配置活动,以及其他一些活动.那么应该在哪里声明这些组件的完整声明 - 包括意图,过滤器等?它们是在库的清单中,还是在应用程序包本身的清单中,引用库中的类(例如android:name ="com.foo.mylibrary.MyService")?

我看过的一些例子似乎在两个清单中都声明了它们,但我怀疑将它们放在一个或另一个中是一个无操作.

android android-manifest android-service android-library android-activity

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

从Assets文件夹设置通知声音

我将声音文件附加在资源文件夹中,以便在通知中播放声音,但我无法播放资源文件夹中的声音.

我有设置页面,用户可以从中设置通知声音,用户也可以播放声音.这部分完成了.我可以使用Media Player播放资源文件夹中的声音.我可以在通知创建时使用相同的逻辑,但是当用户点击通知时可能会发生问题,因为媒体播放器仍在播放声音.

我试过了

notification.sound = Uri.parse("file:///android_asset/Sound/Long/AlarmClock.mp3");
Run Code Online (Sandbox Code Playgroud)

也尝试过这样

notification.sound = Uri.parse("android_asset/Sound/Long/AlarmClock.mp3");
Run Code Online (Sandbox Code Playgroud)

但我的问题仍未解决.

有没有其他方法可以在资产目录中设置通知中的声音?

logcat的

01-10 09:57:01.509: ERROR/PlayerDriver(31): Command PLAYER_SET_DATA_SOURCE completed with an error or info PVMFErrNotSupported
01-10 09:57:01.509: ERROR/MediaPlayer(52): error (1, -4)
01-10 09:57:01.519: WARN/NotificationService(52): error loading sound for android_asset/Sound/Long/audio.mp3
01-10 09:57:01.519: WARN/NotificationService(52): java.io.IOException: Prepare failed.: status=0x1
01-10 09:57:01.519: WARN/NotificationService(52):     at android.media.MediaPlayer.prepare(Native Method)
01-10 09:57:01.519: WARN/NotificationService(52):     at android.media.AsyncPlayer.startSound(AsyncPlayer.java:64)
01-10 09:57:01.519: WARN/NotificationService(52):     at android.media.AsyncPlayer.access$200(AsyncPlayer.java:33)
01-10 09:57:01.519: WARN/NotificationService(52):     at android.media.AsyncPlayer$Thread.run(AsyncPlayer.java:99)
01-10 09:57:01.519: WARN/PlayerDriver(31): PVMFInfoErrorHandlingComplete
Run Code Online (Sandbox Code Playgroud)

或任何其他想法?请给我提示.

notifications android media-player android-assets android-resources

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

具有较长文本的Android多行通知/通知

我需要创建一个包含更长文本的通知,这可能吗?默认情况下不是,但您可以使用自定义布局,这就是我所做的.现在我可以显示多行,但正如您所看到的,文本仍然被破坏/未完全显示?):有人可以告诉我我做错了什么/如果通知的大小有固定的限制吗?如果你看一下屏幕截图,你会注意到,还剩下很多空间......感谢任何提示!

BTW这里是用于自定义布局的XML,基于http://developer.android.com/guide/topics/ui/notifiers/notifications.html#CustomNotification

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="horizontal"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:padding="3dp"
          >
<ImageView android:id="@+id/image"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:layout_marginRight="10dp"
          />
<TextView android:id="@+id/text"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:textColor="#000"
          />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

更长的通知文本

notifications android

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

forOverrideUrlLoading在WebView for Android中未运行

-Edit:找到解决方案
- 在经过一番繁重的搜索后想出来 - 一个人(我的意思是一个人)说他们改为使用onPageLoad(); 这完全符合我的目的.区别在于onPageLoad()的运行时间晚于shouldOverrideUrlLoading,但它对我的代码没有影响.

我正在尝试使用OAuth为Android应用程序设置Twitter授权,到目前为止我可以成功将用户发送到授权URL,但是,我现在要做的是拦截重定向到回调(这只是导致404错误,我们的回调URL不会在我们的服务器上有关联的页面).我要做的是检查URL是否是我们的回调,然后从URL中提取OAuth Verifier.我使用以下代码设置我的WebView:

view = (WebView)findViewById(R.id.twitterWbVw);
view.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView wView, String url)
    {
        String urlHolder;
        String[] verifExtrctr;
        urlHolder = url.substring(0, url.indexOf('?'));
        System.out.println("url");
        if(urlHolder.equalsIgnoreCase(CALLBACK_URL))
        {
            verifExtrctr = urlHolder.split("?");
            verifExtrctr = verifExtrctr[2].split("=");
            if(verifExtrctr[0].equalsIgnoreCase("oauth_verifier"))
            {
                params[5] = verifExtrctr[1];
                return true;
            }
            else
            {
                System.out.println("Inocorrect callback URL format.");
            }
        }
        else    
        {
            wView.loadUrl(url);
        }
        return true;
    }
});
view.loadUrl(urlAuthorize.toExternalForm());
Run Code Online (Sandbox Code Playgroud)

事情甚至是System.out.println("url"); (我用来调试)不运行!所以我的想法非常枯燥,找不到有类似问题的人.授权URL运行良好,我可以成功授权应用程序,但由于某种原因重定向到回调URL永远不会被截获.任何帮助将不胜感激,这是在我的onResume(),如果这很重要.

https android android-webview webviewclient

21
推荐指数
2
解决办法
6万
查看次数

支持Android webview中的其他协议

我创建了一个Web视图应用程序,显示的页面具有market://链接,但单击它们后,我得到404屏幕以及不支持该协议的错误.我试过查看文档,但无法找到与此相关的任何内容.任何帮助深表感谢.

android android-webview custom-url uri-scheme

19
推荐指数
1
解决办法
2万
查看次数

Android Webview shouldOverrideUrlLoading方法

什么时候叫shouldOverrideUrlLoading方法?

webView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {


    }
});
Run Code Online (Sandbox Code Playgroud)
  1. 在初始加载url时调用它吗?例如webView.loadUrl( "file:///android_asset/html/index.html");
  2. 是否每次调用webview的URL都会更改?

任何参考?我找不到一个.谢谢

android uri android-assets android-webview

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

当页面加载时,shouldOverrideUrlLoading不起作用/捕获链接点击

我正在使用WebViewClient.shouldOverrideUrlLoading来捕获WebView中的任何链接点击.这大约有95%的时间都有效,但有时它根本就没有被调用.

我在这三种情况下都注意到了这一点:

  1. 当链接指向他们已经在的页面时.这个并不是什么大问题,并且报告了一个错误.
  2. 当页面仍在加载时,如果用户单击链接,则很少捕获该链接.它只会在没有打电话的情况下打开链接shouldOverrideUrlLoading.
  3. 随机.在过去几个月的实验中,我注意到有时它只是没有抓住它.这种情况很少见,但确实发生了.

现在我的问题主要是如何解决问题2,因为其他问题不是很重要.但是,如果有人解决了1或3,我很乐意听到它.

另外,我应该提一下,我已经尝试了不同的返回值,shouldOverrideUrlLoading并且我注意到总是返回true似乎具有最好的结果,但上述问题仍然发生.

android android-webview webviewclient

14
推荐指数
2
解决办法
1万
查看次数

android中raw和asset文件夹的存储限制

我想将一些视频/音频文件存储在我的应用程序的原始文件夹中.

我不知道raw和asset文件夹的存储限制.

任何人都可以告诉我可以在raw和asset文件夹中存储多少数据.

而且,如果我将批量数据存储在那些文件夹中,它会影响执行速度或从市场下载的应用程序的大小吗?

提前致谢.

android android-resources

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

Webview shouldoverrideurlloading不起作用

我在我的应用程序中有这个代码:

public class Home extends Activity{
@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.home);
    final ProgressDialog progressBar;
    if(isOnline()){
        WebView webView = (WebView) findViewById(R.id.home_web);
        webView.setBackgroundColor(Color.parseColor(getString(R.color.colore_bg)));
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setBuiltInZoomControls(true);
        webView.getSettings().setPluginsEnabled(true);
        webView.setWebViewClient(new MyWebViewClient());
        progressBar = ProgressDialog.show(this,getString(R.string.caricamento),getString(R.string.attendere));
        webView.setWebViewClient(new WebViewClient(){
            public void onPageFinished(WebView view, String url) {
                if (progressBar.isShowing()) {
                    progressBar.dismiss();
                }
            }
        });
        webView.loadUrl("http://www.mysite.com/android.php");
    }else{
        Toast.makeText(this,getString(R.string.no_connessione),Toast.LENGTH_LONG).show();
    }
}
private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
            System.out.println("here");
        if (Uri.parse(url).getHost().equals("mysite.com")) {
            // This is my web site, so do not override; …
Run Code Online (Sandbox Code Playgroud)

android hyperlink android-webview webviewclient

2
推荐指数
1
解决办法
7684
查看次数