Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как вызвать Notification в Broadcast Receiver? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Прием UDP пакетов http://www.cyberforum.ru/android-dev/thread1414200.html
Здравствуйте. Сразу скажу, никогда не имел дело с сокетами, тем более с UDP. Сервер у меня на python и с ним проблем никаких нет, клиент исправно шлет на него пакеты. А вот как отправить ответ не...
Программирование Android Несколько фрагментов на одной кладке ViewPager Возникла необходимость при подгонке под разные размеры устройств уменьшить на большом экране количество вкладок. Т. е. на телефоне Вкладка1=Фрагмет1, Вкладка2=Фрагмент2, Вкладка3=Фрагмент3. На... http://www.cyberforum.ru/android-dev/thread1414145.html
Программирование Android Как импортировать скаченный проект в андроид студио
Просто File - Open и выбрать на компьютере?? А как узнать версию андроида на которой компилировался импортируемый проект (например версия android 4.0.3, 4.2.2 и тд) ??Где это посмотреть в адроид...
Задосить сервер Программирование Android
Добрый вечер. В двух словах, я хочу проверить свой сервер на убиваемость. Милости прошу помочь мне в этом ,нужно скачать игру с паркета и поиграть на сервере. Так я найду ошибки и точно буду знать...
Программирование Android Отображение ListView во фрагменте http://www.cyberforum.ru/android-dev/thread1413869.html
Привет, всем! Буду очень признательна, если кто-нибудь сможет мне помочь разобраться. Я пишу программку для расписания занятий моего универа, параллельно учусь писать под андроид. Сейчас...
Программирование Android Определение формата документа при сканировании Здравствуйте. Я являюсь заказчиком продукта. Разработчик ТЗ уверяет меня в невозможности реализовать задумку. Функция - сканирование документа. Идея - на экране сканирования расположить... подробнее

Показать сообщение отдельно
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 563
Записей в блоге: 1
06.04.2015, 21:32  [ТС]
Rube, MainActivity
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package com.babygps2;
 
import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Color;
import android.location.Location;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
public class MainActivity extends FragmentActivity  {
    
    public static final String APP_PREFERENCES = "myNumber";
    public static final String APP_PREFERENCES_NAME = "Nickname"; // phone
    double Longtitude=0.0, Latitude=0.0;
    //public static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
    android.support.v4.app.DialogFragment dlg1; 
    // number
    Location currentLocation;
    private static final int DIAL = 0;
    SharedPreferences mSettings;
    private TextView text;
    static Button btnmap;
    private static final String TAG = null;
    long SMSlongtitude, SMSlatitude;
    static EditText messageNumber, et;
    String smsText, smsText1, smsText2, mes2;
    private static final int REQUEST = 1;
    //----------------notifica----------------
        private Button callButton;
        private static final int NOTIFY_ID = 0x1001;
        private static NotificationManager mNotifyMgr;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // mNotifyMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        dlg1 = new DialogSet();
 
        et = (EditText) findViewById(R.id.editText1);
        mSettings = getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE);
        //messageNumber = (EditText) findViewById(R.id.et_number);
//      messageNumber.setOnLongClickListener(new View.OnLongClickListener() {
//
//          @SuppressLint("NewApi") @Override
//          public boolean onLongClick(View v) {
//              // TODO Auto-generated method stub
//              dlg1.show(getSupportFragmentManager(), "dlg1");
//               
//              //showDialog(DIAL);
//              return false;
//          }
//
//      });
        //-----Перенос полученных из SMS координат и запуск GoogleMaps-----------------------
        btnmap = (Button) findViewById(R.id.btn_send);
//      if (mSettings.contains(APP_PREFERENCES_NAME)) {
//          messageNumber
//                  .setText(mSettings.getString(APP_PREFERENCES_NAME, ""));
//      }
        Longtitude=MessageReceiver.Longtitude;
        Latitude=MessageReceiver.Latitude;
        
//      if(Longtitude!=0){
//          Notification();
//      }
        
        btnmap.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
                
                String geoUri = String.format("geo:%s,%s?z=17", Double.toString(Latitude), Double.toString(Longtitude));
                Intent geoMap = new Intent(Intent.ACTION_VIEW, Uri.parse(geoUri));
                startActivity(geoMap);
                
                    
            }
        });
    ReadyMap(Longtitude, Latitude);
    
    
    }// -------------End------onCreate---------------------------
 
    // -------------Метод сообщающий о получении данных из SMS-----
    public static void ReadyMap(double Longtitude, double Latitude) {
        
        if (Longtitude != 0 || Latitude != 0) {
//          smsText1 = String.valueOf(SMSlongtitude);
//          smsText2 = String.valueOf(SMSlatitude);
            btnmap.setBackgroundColor(Color.GREEN);
            
        } else {
 
            btnmap.setBackgroundColor(Color.RED);
        }
    }
 
    
    
    // -------------------END---------Работа со входящими
    // SMS--------------------------------------
 
    // ------------------Диалог ввода/изменения телефонного
    // номера------------------
    
    
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        String strNickName = messageNumber.getText().toString(); // здесь
                                                                    // содержится
                                                                    // текст,
                                                                    // введенный
                                                                    // в
                                                                    // текстовом
                                                                    // поле
        Editor editor = mSettings.edit();
        editor.putString(APP_PREFERENCES_NAME, strNickName);
        editor.commit();
    }
 
    
}

MessageReceiver
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package com.babygps2;
 
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;
 
public class MessageReceiver extends BroadcastReceiver {
    //public static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
    private static final String APP_REQUEST_CODE = "BabyGPS1";
    private static final String myLogs = null;
    public static double Longtitude=0.0, Latitude=0.0;
    public static String mes;
    @SuppressWarnings("null")
    public void onReceive(Context context, Intent intent) {
    
        Bundle pudsBundle = intent.getExtras();
        Object[] pdus = (Object[]) pudsBundle.get("pdus");
        SmsMessage messages = SmsMessage.createFromPdu((byte[]) pdus[0]);
        
        Log.i(myLogs, messages.getMessageBody());
        
        if (messages.getMessageBody().contains(APP_REQUEST_CODE)) {
            
            abortBroadcast();
            
            context.startService(new Intent(context, NotificationService.class));
 
 
             
            mes = messages.getMessageBody();
            mes=mes.replaceAll(",", ".");
                 String div="|";
                 int divider = mes.indexOf(div);
                 String Lo = mes.substring(10, divider-1);
                 String La = mes.substring(divider+2);
                 
                Longtitude=Double.parseDouble(Lo);
                Latitude=Double.parseDouble(La);
             
                String ms = String.valueOf(Longtitude);
                String ms1 = String.valueOf(Latitude);
                Toast.makeText(context, ms+" "+ms1,
                 Toast.LENGTH_LONG).show();
                 
//               String ms2 = String.valueOf(Latitude);
//               Toast.makeText(context, ms2,
//               Toast.LENGTH_LONG).show();
                
                 MainActivity.ReadyMap(Longtitude, Latitude);
//               if (Longtitude != 0 || Latitude != 0) {
//
//                   
//
//                  //MainActivity.Notification();
////                     Notification notification = null;
////                     notification.defaults = Notification.DEFAULT_SOUND |
////                                Notification.DEFAULT_VIBRATE;
//               
//               }
                 
                 
        }
        
    }
    
    
}

NotificationService
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package com.babygps2;
 
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
 
public class NotificationService extends Service {
    public NotificationService() {
    }
    
    private static final int NOTIFY_ID = 0;
    private static final String NOTIFICATION_TAG = "Sound";
    private static NotificationManager mNotifyMgr;
    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
        
    }
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return Service.START_STICKY;
    }
public void onStartCommand(){
    
    int icon = R.drawable.ic_launcher;
  CharSequence tickerText = "Hello!";
  long when = System.currentTimeMillis();
  Context context = getApplicationContext();  
  CharSequence contentTitle = "Notification";
  CharSequence contentText = "Hi, I am Android!";
 
  Intent notificationIntent = new Intent(this, NotificationService.class);
  PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
      
  Notification notification = new Notification(icon, tickerText, when);
  notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
      
  mNotifyMgr.notify(NOTIFY_ID, notification);
    
}
//public void notify(final Context context, final String title, String text) {
//   
//    Intent intent = new Intent(context, MainActivity.class);
//    Notification notification = new Notification.Builder(context).setContentTitle(title).setContentText(text)
//            .setSmallIcon(R.drawable.abc_ab_share_pack_holo_dark).build();
//    notification.flags |= Notification.FLAG_AUTO_CANCEL;
//    notification.defaults |= Notification.DEFAULT_VIBRATE;
//    notification.defaults |= Notification.DEFAULT_LIGHTS;
//
//    notify(context, notification);
//}
//
//@TargetApi(Build.VERSION_CODES.ECLAIR)
//private void notify(final Context context, final Notification notification) {
//    final NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
//    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
//        nm.notify(NOTIFICATION_TAG, 0, notification);
//    } else {
//        nm.notify(NOTIFICATION_TAG.hashCode(), notification);
//    }
//}
//
///**
// * Cancels any notifications of this type previously shown using
// * {@link #notify(Context, String, int)}.
// */
//@TargetApi(Build.VERSION_CODES.ECLAIR)
//public boolean cancel(final Context context) {
//    final NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
//    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
//        nm.cancel(NOTIFICATION_TAG, 0);
//    } else {
//        nm.cancel(NOTIFICATION_TAG.hashCode());
//    }
//    return true;
//}
}

Manifest
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.babygps2"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="21" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:icon="@drawable/babygps2"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
 
        <receiver
            android:name=".MessageReceiver"
            android:enabled="true"
            android:exported="true" >
            <intent-filter android:priority="999" >
                <action android:name="android.provider.Telephony.SMS_RECEIVED" >
                </action>
            </intent-filter>
        </receiver>
 
        <service
            android:name=".NotificationService"
            android:enabled="true"
            android:permission="BabyGPS2"
            android:exported="true" >
        </service>
    </application>
 
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
 
</manifest>


новые темы совсем для меня,.. , поизучаю ссылку вашу...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru