我收到这条警告消息,因为我看到这条消息,我也开始看到Google Play 服务没有响应弹出窗口,一段时间后它关闭了我的应用程序。我看过类似的问题,但找不到原因。
以下是我的处理程序线程使用示例。我不知道该怎么做才能避免这个问题。
@Override
public void find(Func1<RealmQuery<Artist>, RealmQuery<Artist>> query,
Action1<Result<List<Artist>>> onResult) {
if (query != null) {
handlerThread = new HandlerThread("MyHandlerThreadArtist");
handlerThread.start();
looper = handlerThread.getLooper();
Handler handler = new Handler(looper);
handler.post(new Runnable(){
@Override
public void run() {
Timber.log(Log.DEBUG, "ARTISTDAOIMPL", "find Thread.currentThread().getName() " + Thread.currentThread().getName());
mDatabase.findRealmObject(Artist.class, query,
result -> onResult.call(
Result.getData(Arrays.asList(result.data.toArray(new Artist[]{})))
), err -> onResult.call(Result.getError(err))
);
}
});
}
12-17 15:56:44.631 2944 2977 W art : Long monitor contention with owner Answers Events …Run Code Online (Sandbox Code Playgroud) multithreading android android-anr-dialog google-play-services android-handlerthread
我知道.Net Core 1.0是新发布的并且是跨平台的.
在决定使用.Net Core之前,我想澄清一下如何做.遗憾的是,我无法获得令人满意的信息.
因此,如果我想使用.Net Core 1.0开发Android应用程序,我是否必须使用Xamarin?
如果是这样,我如何在使用.Net Core时与Xamarin 建立连接?
.Net Core应用程序可以在Windows,Mac或Linux上运行,但Xamarin应用程序无法在Linux上运行.因此,我的Android应用程序可以在所有平台上运行吗?
提前致谢.
结果是:
正如@LexLi和@swick所说:
"如果您编写一个面向.NET标准库的库,您将能够使用.Net Core,Xamarin和.Net Framework"
我有一个Android应用程序,我正在使用一些方法在应用程序图标上显示通知编号.现在我想在收到通知时设置该号码.
我认为我应该在收到通知时设置数字,所以我在onMessageReceived方法中设置它.但是,我的问题是当我的应用程序处于后台时,onMessageReceived方法未被调用,因此未设置通知编号.
以下是我的代码.我在里面设置了号码onMessageReceived.我已经测试过setBadge方法并且可以验证它是否正常工作.问题是onMessageReceived没有调用所以setBadge也没有调用,没有设置数字.
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// TODO(developer): Handle FCM messages here.
Log.d(TAG, "From: " + remoteMessage.getFrom());
Conts.notificationCounter ++;
//I am setting in here.
setBadge(getApplicationContext(),Conts.notificationCounter );
Log.e("notificationNUmber",":"+ Conts.notificationCounter);
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
}
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message …Run Code Online (Sandbox Code Playgroud) android google-cloud-messaging firebase-cloud-messaging firebase-notifications
首先抱歉我的英语不好.我几乎不知道asp.net,asp.net核心和.net核心等之间的差异.我在谷歌搜索了他们近一整天的内容.据我所知,Asp.Net 5已更名为Asp.Net Core 1.0.此外,还提供了一个新的框架.NET Core 1.0,用于开发跨平台应用程序.
现在我有一些问题,希望不是没有意义的.
我想了解Asp.Net Core 1.0和.Net Core 1.0之间的区别.如果我想开发一个项目,每个项目的优缺点是什么?
最后,如果我想将其中一个用于跨平台应用程序,哪个更可取?
提前致谢.
我只想保持蓝牙开启,为此我监听蓝牙状态,如果它被关闭,广播接收器可以启用它。我也希望它在应用程序关闭时运行。因此,即使在应用程序关闭后(当它不工作时),我也试图运行蓝牙广播接收r。为此,我了解到我需要使用工作管理器来支持所有设备。我试图结合 Broadcast Receiver 和 Work Manager。但是当应用程序关闭时我无法让它运行。
这是我的MainActivity.java在这里,我将工作请求排入队列。
package com.example.workmanagersample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final OneTimeWorkRequest workRequest = new OneTimeWorkRequest.Builder(MyWorker.class).build();
WorkManager.getInstance().enqueue(workRequest);
}
}
Run Code Online (Sandbox Code Playgroud)
下面的类是我的MyWorker.java 在这里我注册了接收器。
package com.example.workmanagersample;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.content.IntentFilter;
import android.support.annotation.NonNull;
import android.support.v4.app.NotificationCompat;
import androidx.work.Worker;
import androidx.work.WorkerParameters;
public class MyWorker extends Worker {
private …Run Code Online (Sandbox Code Playgroud) android background-service broadcastreceiver android-bluetooth android-workmanager
我想要一个 Python 中的消息框,它显示连接的字符串文本。我希望文本左对齐,但事实并非如此。我试着ljust()和{:<14}等,但它仍然没有对齐。
看起来像这样:
代码片段如下,
for todo_item in resp.json()['SectorList']:
sector_id +='Sector Id: {:<14}'.format(todo_item['SectorId']) + '\n'
sector_name += 'Sector Name: {:<40}'.format(todo_item['SectorName']) + '\n'
Run Code Online (Sandbox Code Playgroud)
在循环之后,我将这些文本添加到我的消息框中。
label_id = tkinter.Label(f, anchor = tkinter.W, text = sector_id)
label_name= tkinter.Label(f,anchor = tkinter.W, text = sector_name)
label_id.grid(row= 2, column = 1, sticky = tkinter.W)
label_name.grid(row= 2, column = 2, sticky = tkinter.W)
Run Code Online (Sandbox Code Playgroud)
扇区 ID 部分很好,但扇区名称未左对齐。任何的想法?
我的应用程序弹出ANR(应用程序没有响应)对话框。很长一段时间以来,我都在努力解决这个问题。我做了很多优化,最后我的主线程需要 2~300 万微秒,但这还不够。
几乎所有的服务调用都是用 Rxjava 完成的。我不知道回调是否属于他们。
当我将Android Profiler用于显示弹出窗口的特定活动时,有2 个进程花费的时间太长。
第二个是handleCallback。我无法减少这些过程的时间。我不知道该怎么做以及它是什么。
我尝试使用异步任务,但即使我取得了一些成果,仍然有同样的问题。
更新:
当它弹出ANR 对话框时,我杀死了该应用程序 ,这些是最后的日志行:
2019-11-27 16:36:53.856 13843-14117/br.com.gomus.androidapp D/DownloadInteractor: addSongDownloadedToCurrentPlaylist
2019-11-27 16:36:53.858 13843-14117/br.com.gomus.androidapp D/DownloadRepositoryImpl: File download and update status finished, should verify all files download status
2019-11-27 16:36:53.860 13843-14117/br.com.gomus.androidapp D/DownloadRepositoryImpl: File download and update status concluded with success emitting progress
2019-11-27 16:36:53.863 13843-14117/br.com.gomus.androidapp D/DownloadRepositoryImpl: mItemsDownloaded: 4 mTotalItems14 …Run Code Online (Sandbox Code Playgroud) 我有一个项目,最近我们将该项目转换为多模块。但是我无法运行该模块,它给了我这个错误。
我认为我的依赖项和一些配置出了问题。以下是我的app/build.gradle
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
id 'com.google.protobuf'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
id 'kotlin-android-extensions'
}
apply plugin: 'kotlin-android'
android {
compileSdk 33
defaultConfig {
minSdk 26
targetSdk 33
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding true
dataBinding true
}
packagingOptions{
pickFirst "androidsupportmultidexversion.txt"
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt' …Run Code Online (Sandbox Code Playgroud) android ×5
.net ×2
.net-core ×2
asp.net-core ×1
dagger ×1
dagger-hilt ×1
kapt ×1
kotlin ×1
mono ×1
performance ×1
python ×1
rx-java ×1
rx-java2 ×1
tkinter ×1
xamarin ×1