انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در ذخیره سازی پیامک با استفاده از Broadcast Reciever (در برنامه نویسی اندروید)

مشکل در ذخیره سازی پیامک با استفاده از Broadcast Reciever (در برنامه نویسی اندروید)

#3
دوست عزیز
وقتی کد مربوط به دیتابیس رو داخل یک Broadcast Reciever وارد میکنم ایراد میگیره و لی داخل یک اکتیویتی میزنم مشکل نداره:
مثلا کد زیر رو وارد کلاس زیر کردم:

کد پی‌اچ‌پی:
String DATABASE_NAME "KELIDESTAN.db";    
String TABLE_NAME "MY_TABLE";      
try{
    
SQLiteDatabase mydb openOrCreateDatabase(DATABASE_NAMEContext.MODE_PRIVATE,null);
    
mydb.execSQL("CREATE TABLE IF  NOT EXISTS "TABLE_NAME +" (ID INTEGER PRIMARY KEY, NAME TEXT, CITY TEXT);");
    
mydb.close();
}catch(
Exception e){
    
Toast.makeText(getApplicationContext(), "Error in creating table"Toast.LENGTH_LONG).show();

کد پی‌اچ‌پی:
public class BroadcastReceiver extends BroadcastReceiver {

         
String DATABASE_NAME "KELIDESTAN.db";    
         
String TABLE_NAME "MY_TABLE";   
    
    
Context c;
    
    final 
SmsManager sms SmsManager.getDefault();
    
    
    
    public 
void onReceive(Context contextIntent intent) {
        
        
        final 
Bundle bundle intent.getExtras();
        
         

        try {
            
            if (
bundle != null) {
                
                final 
Object pdusObj = (Object) bundle.get("pdus");
                
                for (
int i 0pdusObj.lengthi++) {
                    
                    
SmsMessage currentMessage SmsMessage.createFromPdu((bytepdusObj[i]);
                    
String phoneNumber currentMessage.getDisplayOriginatingAddress();
                    
                      
String senderNum phoneNumber;
                    
String message currentMessage.getDisplayMessageBody();
                    
                    
   
                try{
                      
SQLiteDatabase mydb openOrCreateDatabase(DATABASE_NAMEContext.MODE_PRIVATE,null);
                      
mydb.execSQL("CREATE TABLE IF  NOT EXISTS "TABLE_NAME +" (ID INTEGER PRIMARY KEY, NAME TEXT, CITYTEXT);");
                      
mydb.close();
                    }catch(
Exception e){
                     
Toast.makeText(getApplicationContext(), "Error in creating table"Toast.LENGTH_LONG).show();
                    }
                    
                

                    
Log.i("SmsReceiver""senderNum: "senderNum "; message: " message);
                    
                   if (
senderNum.equals("5556")) {abortBroadcast();} 
                    
                    
int duration Toast.LENGTH_LONG;
                    
Toast toast Toast.makeText(context"senderNum: "senderNum ", message: " messageduration);
                    
toast.show();
                    
                    
                    
                    
                    
                } 
              } 

        } catch (
Exception e) {
            
Log.e("SmsReceiver""Exception smsReceiver" +e);
            
        }
    }

    
    


حالا اگه من خط اول کد بالا یعنی:

کد پی‌اچ‌پی:
[i]public class BroadcastReceiver extends BroadcastReceiver[/i


رو تبدیل به :

کد پی‌اچ‌پی:
[i]public class BroadcastReceiver extends Activity[/i


کنم دیگه ایراد نمیگیره ولی بجاش دیگه سرویس نیست که پیام دریافت کنه.
ممنون.....

 
پاسخ


پیام‌های این موضوع
RE: مشکل در ذخیره سازی پیامک با استفاده از Broadcast Reciever - توسط a-l-mahdi - ۱۳۹۴/۰۱/۰۱, ۰۳:۱۷ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان