小编VSB*_*VSB的帖子

Android:订阅Firebase云消息传递(FCM)主题

根据Firebase云消息传递文档,用于订阅用户我需要调用的主题

FirebaseMessaging.getInstance().subscribeToTopic("news");
Run Code Online (Sandbox Code Playgroud)
  1. 在我的应用程序中,我需要所有用户订阅我的云消息传递主题.既然返回值是void,问题是我如何理解订阅是否成功?
  2. subscribeToTopic每次我的应用程序启动时调用是不好的做法 ?

android firebase firebase-cloud-messaging

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

Android ViewPager:在ViewPager中更新屏幕外但缓存的片段

我有一个ViewPager,它的片段中包含几个TextView,它们有不同的字体大小.另外,我有增加/减少字体大小的按钮,通过添加其默认大小加上一个名为STEP的值(由inc/dec字体大小按钮更改)来计算每个textView的字体大小.
我的问题是如果在应用大小更改后第一次显示视图,它将在onCreateView()期间创建所需大小的textViews但是如果片段已经缓存并且onCreateView没有再次调用,我不知道如何更新他们的textViews考虑到只有一个缓存的片段正在屏幕上显示(我可以毫无问题地更新它)但是其他的不会显示(我不知道它们是否附加到活动或者在这种情况下是否附加).
换句话说,我如何检测ViewPager缓存了哪些片段及其已调用的onCreateView(这些片段必须应用更新到其视图的片段).我用浅绿色标记它们,下面的图片中有问号:在此输入图像描述

android caching android-fragments android-viewpager

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

How can i have EditText with Clickable Spannables and still selectable by longClick?

I have TextView with spans of type ClickableStringSpan defined as below:

public class ClickableStringSpan extends ClickableSpan {
    private View.OnClickListener mListener;
    int color;
    public ClickableStringSpan(View.OnClickListener listener,int color) {
        mListener = listener;
        this.color = color;

    }

    @Override
    public void onClick(View v) {
        mListener.onClick(v);
    }

       @Override public void updateDrawState(TextPaint ds) {
           super.updateDrawState(ds);
           ds.setUnderlineText(false);
           ds.setColor(color);
       }
}
Run Code Online (Sandbox Code Playgroud)

I set clickable spans on my text like this:

spanStr.setSpan(new ClickableString(new linkedTextClickListener(), linkColor),
                        startIndex, endIndex,
                        SpannableString.SPAN_INCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)

Now I want to apply these string to EditTexts instead of …

android android-edittext spannablestring onclicklistener

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

从最近的应用列表中删除应用时,请避免取消通知

我正在使用以下代码段显示来自我的应用内的服务的通知:

NotificationCompat.Builder mBuilder =
        new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.ic_launcher)
                .setContentTitle(currentNotificaion.getMessageTitle())
                .setContentIntent(contentIntent)
                .setContentText(currentNotificaion.getMessageText())
                .setAutoCancel(true);
int mNotificationId = (int) currentNotificaion.getMessageServerID();
// Gets an instance of the NotificationManager service
NotificationManager mNotifyMgr =
        (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Builds the notification and issues it.
mNotifyMgr.notify(mNotificationId, mBuilder.build());
Run Code Online (Sandbox Code Playgroud)

我的服务在清单中声明如下:

<service
android:name="com.myapp.services.NotificationService"
android:stopWithTask="false">
</service>
Run Code Online (Sandbox Code Playgroud)

但是,当从最近的应用列表关闭我的应用时,通知将消失并从通知栏中删除.另一件事是我不会使用从通知栏中删除的粘贴通知.

我怎么能避免这个?

notifications android android-service

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

Gradle与Android Studio一起使用是否必须?

我正在使用android studio正式发布.到目前为止我使用Android Studio 2.1.2版,我需要等待几个小时才能首次导入项目并让gradle同步.有些人建议在离线模式下运行android studio,但是当我想使用外部库时,我需要让我的项目同步,所以我必须启用gradle.

有没有办法让我摆脱Gradle?

举个例子:

4:19:03 PM Executing tasks: [:app:clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:prepareDebugUnitTestDependencies, :app:mockableAndroidJar, :app:assembleDebug]
Run Code Online (Sandbox Code Playgroud)

现在是4:30,仍在运行!只需要在Eclipse中按F11并在20秒内调试应用程序.

android gradle android-studio android-gradle-plugin

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

最后一个单词显示在textview中

我将在Android应用程序的几个页面上显示完整的文本文档.每个页面都包含一个TextView控件,负责显示文本.它还包含一个下一个按钮,该按钮负责更新textview并按照文本从最后显示的部分结束的位置开始.
问题是如何在TextView的可显示区域中找到最后显示的单词?
注意:在这个应用程序中,textView 应该滚动或使用ellipsize.还必须注意,文本化可以增加或减少.要更好地了解情况:要显示的示例文本:

这是全文.在第一页它刚刚结束在这里的,必须从这里被遵循.

这是其显示的示例说明.问题是如何找到第1页中显示的最后一个单词"here"? 这是其显示的示例说明. 问题是如何找到第1页中显示的最后一个单词

android textview

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

Android:BroadcastReceiver时间限制

是否为BroadcastReceiver.onReceive方法中运行的操作定义了任何时间限制?

android limits broadcastreceiver

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

Android Firebase云消息传递(FCM):subscribeToTopic会自动重试吗?

要订阅Android客户端中的主题,我们应该调用:

FirebaseMessaging.getInstance().subscribeToTopic("news");
Run Code Online (Sandbox Code Playgroud)

我想知道如果在执行此指令时互联网连接不可用会发生什么?

当互联网连接可用或Google开发人员应该处理此案例时,Google服务会自动重试订阅吗?

android firebase firebase-cloud-messaging

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

404 Page Prestashop Multistore

我刚刚在我的1.6.1 prestashop中启用了多重存储,并在我的默认商店之外添加了一个新商店.
默认店铺地址: http ://lak-lak.ir
新的多店地址: http ://lak-lak.ir/ghods

似乎在新店的主页上一切都很好,但是对于联系我们,最佳搜索和其他页面的页面,Prestashop显示404错误页面.

怎么解决这个问题?


我的商店也启用了PS URL重写.
这是.htaccess文件的内容:

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>

RewriteEngine on


#Domain: lak-lak.ir
RewriteCond %{HTTP_HOST} ^lak-lak.ir$
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]

RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# Images …
Run Code Online (Sandbox Code Playgroud)

php url-rewriting prestashop prestashop-1.6

7
推荐指数
1
解决办法
1420
查看次数

Android Studio 3.1:找不到gradle-core.jar(gradle-core-3.1.0.jar)

我刚刚安装了Android Studio 3.1以上的Android版本.当我尝试创建新项目时,在项目构建期间它会停止并提示以下错误.我使用了很多解决方案,但没有用.这是错误消息:

错误:找不到gradle-core.jar(com.android.tools.build:gradle-core:3.1.0).在以下位置进行了搜索:https: //dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.1.0/gradle-core-3.1.0.jar

当我检查它显示的日志时,可以在我的机器上下载altough参考文件,https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.1.0/gradle-core-3.1.0.jar但android studio无法获取它.

我没有在Android Studio上设置任何代理,但尝试代理没有帮助.

https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.1.0/gradle-core-3.1.0.jar
Run Code Online (Sandbox Code Playgroud)

错误日志

org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'MyApplication'.
    at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:66)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:34)
    at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:110)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:50)
    at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:666)
    at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:135)
    at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
    at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:60)
    at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
    at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:249)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:167)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:126)
    at org.gradle.initialization.DefaultGradleLauncher.getConfiguredBuild(DefaultGradleLauncher.java:104)
    at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:87)
    at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:84)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
    at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
    at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:84)
    at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:64)
    at …
Run Code Online (Sandbox Code Playgroud)

maven-2 gradle android-studio jcenter android-studio-3.1

7
推荐指数
0
解决办法
2653
查看次数