我一直在使用 Google 位置服务 API 和地理围栏。我可以成功捕获地理围栏转换,并且在进入和退出地理围栏时收到通知。但是,我不知道如何进行地理围栏转换,从而对应用程序进行 GUI 和数据更改。
例如,如果应用程序打开,我希望出现一个小吐司。我还需要我的应用程序生成一个新的地理围栏并丢弃旧的地理围栏(但到目前为止我只使用一组硬编码的地理围栏)。
但到目前为止,我不明白如何从 GeofenceTransitionsEventService.java 与我的应用程序交互(这是我“捕获”意图并创建通知的地方)。
下面是我的代码(现已编辑,但仍然无法正常工作):
GPS 活动
public class GPSActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener, ResultCallback<Status> {
private GoogleApiClient mGoogleApiClient;
private LocationRequest mLocationRequest;
private String mLastUpdateTime;
private TextView mLatitudeTextView;
private TextView mLongitudeTextView;
private final int MY_PERMISSION_ACCESS_FINE_LOCATION = 1;
private boolean locationPermissionGoodToGo = false;
public double latitude, longitude = 50;
protected static final String TAG = "MainActivity";
/**
* The list of geofences used in this sample.
*/
protected ArrayList<Geofence> mGeofenceList;
/**
* …Run Code Online (Sandbox Code Playgroud) 它工作一小时前,但我必须对代码做了一些事情,我不知道是什么.我JTextField没有出现,但如果我将它们设置为可编辑,它们仍然存在.第一个JTextField确实出现了,但看起来很奇怪.有什么想法有什么不对吗?(我称之为JTextField"广场").大小= 10
package gui;
import javax.swing.*;
import engine.GameEngine;
import java.awt.*;
import java.util.*;
public class MineFieldGUI extends JFrame {
private GameEngine engine;
Square[][] field;
int size = 10;
public MineFieldGUI(GameEngine minefield) {
super("MineField");
this.engine = minefield;
this.size = minefield.getSize();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setSize(300, 350);
Locale.setDefault(new Locale("en"));
setLayout(new BorderLayout());
JMenuBar menubar = new JMenuBar();
setJMenuBar(menubar);
JMenu helpMenu = new JMenu("Help");
menubar.add(helpMenu);
helpMenu.add(new HelpMenu(this));
//***THE MINE-FIELD***
JPanel panel = new JPanel(new GridLayout(size,size));
field = new Square[size][size];
for (int i …Run Code Online (Sandbox Code Playgroud)