E/libprocessgroup: ошибка записи set_timerslack_ns: операция не разрешенаAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 E/libprocessgroup: ошибка записи set_timerslack_ns: операция не разрешена

Сообщение Anonymous »

9
Я столкнулся с этой проблемой при запуске приложения для Android. Кто-нибудь знает об этой проблеме и о том, как ее исправить?
Я столкнулся с этой проблемой в своем Logcat, когда запускаю приложение для Android. Кто-нибудь знает об этой проблеме и о том, как ее исправить?
Приложение не вылетает, но когда я выбираю опцию в счетчике и нажимаю кнопку, результат не отображается на карте Google.
MainActivity.Java

Код: Выделить всё

package com.example.nearbyplacedemo;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.loader.content.AsyncTaskLoader;

import android.Manifest;
import android.content.AsyncQueryHandler;
import android.content.pm.PackageManager;
import android.location.Location;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;

import com.google.android.gms.location.FusedLocationProviderClient;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.List;

public class MainActivity extends AppCompatActivity {
//initialize variable
Spinner sp_type;
Button bt_find;
SupportMapFragment supportMapFragment;
GoogleMap map;
FusedLocationProviderClient fusedLocationProviderClient;
double currentLat = 0, currentLong = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Assign Variable
sp_type = findViewById(R.id.sp_type);
bt_find = findViewById(R.id.bt_find);
supportMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.google_map);

//Initialize Array of place list
String[] placeTypeList = {"hospital", "medical", "atm"};
//Initialize Array of Place name list
String[] placeNameList = {"Hospital", "Medical", "ATM"};

//set Adapter on Spinner
sp_type.setAdapter(new ArrayAdapter(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, placeNameList));

//Initialize Fused location client
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);

//check permission
if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
//if permission is granted
//call method
getCurrentLocation();
} else {
//when permission denied
//request permission
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 44);

}
bt_find.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//get selected position of spinner
int i = sp_type.getSelectedItemPosition();
//Initialize Url
String url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json" +//Url
"?location=" + currentLat + "," + currentLong +//location latitude and longitude
"&radius=5000" +//nearby Radius
"&type" + placeTypeList[i] +//place type
"&sensor = true" +//Sensor
"&key=" + "AIzaSyCEidC6oECzj0IexspcvUpqnKPS2_nhKfQ";

//execute place task method to download json data
new Placetask().execute(url);
}
});

}

private void getCurrentLocation() {
if(ActivityCompat.checkSelfPermission(this , Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&&  ActivityCompat.checkSelfPermission
(this , Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION},44);
return;
}

//Initailize task location
Task task = fusedLocationProviderClient.getLastLocation();
task.addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(Location location) {
//when successs
if(location!=null){
//when location is not null
//get current latitude
currentLat = location.getLatitude();
//get current longitude
currentLong = location.getLongitude();
//sync map
supportMapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(@NonNull GoogleMap googleMap) {
//when map is ready
map = googleMap;
//zoom on current location
map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(currentLat,currentLong),14));

}
});

}

}
});

}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if(requestCode==44){
if (grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
//when permission is granted
//call methode
getCurrentLocation();
}
}
}

private class Placetask extends AsyncTask {
@Override
protected String doInBackground(String... strings) {
String data ;
try {
//Initialize data
data=downloadUrl(strings[0]);
} catch (IOException e) {
throw new RuntimeException(e);
}

return data;
}

@Override
protected void onPostExecute(String s) {
//Excute parser task
new ParserTask().execute(s);
}
}

private String downloadUrl(String string) throws IOException {
//Initialize Url
URL url = new URL(string);
//Initialize connection
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//connect connection
connection.connect();
//initialize inputstream
InputStream stream = connection.getInputStream();
//Initialize bufferreader
BufferedReader reader= new BufferedReader(new InputStreamReader(stream));
//Initialize string builder
StringBuilder builder = new StringBuilder();
//Initailize String variable
String line = "";
//use while loop
while ((line = reader.readLine())!=null){
//append line
builder.append(line);

}
//get append data
String data = builder.toString();
//close reader
reader.close();
//return data
return data;

}

private class ParserTask extends AsyncTask {
@Override
protected List doInBackground(String...  strings) {
//create jason parser
JsonPaeser jsonPaeser = new JsonPaeser();
//Initialize hash map list
List mapList=null;
JSONObject object ;
try {
//intialize jsonobject
object = new JSONObject(strings[0]);
//Parse jsonobject
mapList = jsonPaeser.parseResult(object);
} catch (JSONException e) {
throw new RuntimeException(e);
}
//return map list
return mapList;
}

@Override
protected void onPostExecute(List hashMaps) {
if (map != null) {
map.clear();
} else {
// Handle the case when the GoogleMap object is null
Log.e("GoogleMap", "GoogleMap object is null");
}

//clear map
// map.clear();
//use for loop
for (int i=0;i

Подробнее здесь: [url]https://stackoverflow.com/questions/76273463/e-libprocessgroup-set-timerslack-ns-write-failed-operation-not-permitted[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»