Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.user.project;
- import android.app.AlarmManager;
- import android.app.PendingIntent;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.provider.Settings;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.TextView;
- public class MainActivity extends AppCompatActivity {
- MyLocationListener myLocationListener = new MyLocationListener();
- int a;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- myLocationListener.SetUpLocationListener(this);
- AlarmManager manager = (AlarmManager)getSystemService(
- Context.ALARM_SERVICE);
- }
- Intent createIntent(String action, String extra) {
- Intent intent = new Intent(this, BroadcastReceiver.class);
- intent.setAction(action);
- intent.putExtra("extra", extra);
- return intent;
- }
- public void Loc(View view){
- Intent intent1 = createIntent("action", "extra 1");
- AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
- TextView textView1 = (TextView)findViewById(R.id.textView);
- TextView textView2 = (TextView)findViewById(R.id.textView2);
- TextView textView3 = (TextView)findViewById(R.id.textView3);
- try {
- a=(int)(System.currentTimeMillis()/1000);
- textView3.setText(" "+a%86400/3600+" "+a%3600/60+" "+a%60);
- textView1.setText((" "+(myLocationListener.imHere.getLatitude())));
- textView2.setText((" "+(myLocationListener.imHere.getLongitude())));
- PendingIntent pIntent1 = PendingIntent.getBroadcast(this, 0, intent1, 0);
- am.set(AlarmManager.RTC, System.currentTimeMillis() + 2000, pIntent1);
- }catch (Throwable e){
- System.out.println(e);
- }
- }
- }
- package com.example.user.project;
- /**
- * Created by USER on 26.03.2017.
- */
- import android.Manifest;
- import android.content.Context;
- import android.content.pm.PackageManager;
- import android.location.Location;
- import android.location.LocationListener;
- import android.location.LocationManager;
- import android.os.Bundle;
- import android.support.v4.app.ActivityCompat;
- class MyLocationListener implements LocationListener {
- static Location imHere; // здесь будет всегда доступна самая последняя информация о местоположении пользователя.
- public static void SetUpLocationListener(Context context) // это нужно запустить в самом начале работы программы
- {
- LocationManager locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
- LocationListener locationListener = new MyLocationListener();
- if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
- && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
- // TODO: Consider calling
- // ActivityCompat#requestPermissions
- // here to request the missing permissions, and then overriding
- // public void onRequestPermissionsResult(int requestCode, String[] permissions,
- // int[] grantResults)
- // to handle the case where the user grants the permission. See the documentation
- // for ActivityCompat#requestPermissions for more details.
- return;
- }
- locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10, locationListener); // здесь можно указать другие более подходящие вам параметры
- imHere = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
- }
- @Override
- public void onLocationChanged(Location loc) {
- imHere = loc;
- }
- @Override
- public void onProviderDisabled(String provider) {}
- @Override
- public void onProviderEnabled(String provider) {}
- @Override
- public void onStatusChanged(String provider, int status, Bundle extras) {}
- }
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.user.project">
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- <application
- android:allowBackup="true"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/app_name"
- android:supportsRtl="true"
- android:theme="@style/AppTheme">
- <activity android:name=".MainActivity">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <service
- android:name=".MyService"
- android:enabled="true"
- android:exported="true"></service>
- </application>
- </manifest>
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/activity_main"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- tools:context="com.example.user.project.MainActivity">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Hello World!"
- android:id="@+id/textView" />
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:onClick="Loc"
- android:text="Button"
- android:layout_below="@+id/textView3"
- android:layout_centerHorizontal="true" />
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentStart="true"
- android:layout_below="@+id/textView"
- android:text="TextView" />
- <TextView
- android:id="@+id/textView3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentStart="true"
- android:layout_below="@+id/textView2"
- android:text="TextView" />
- </RelativeLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement