PDA

View Full Version : مشکل با برودکست ریسیور



shabgardetanha
چهارشنبه 03 شهریور 1395, 09:31 صبح
سلام
من میخوام یه برنامه بنویسم که وقتی باتری شار› شد الارم بده و وقتی قفل گوشی باز میشه الارم بده
میدونم باید با broadcast استفاده کنم
اما نمیدونم چطوری سرچ کردم اما هیچ کدوم از کدها جواب نداد
ممنون میشم کمکم کنید
:اشتباه:

perkas
چهارشنبه 03 شهریور 1395, 10:38 صبح
شما وقتی از یه برادکست استفاده میکنید باید اون رو در منیفست رجیستر کنید

مثلا رجیستر یه برادکست دریافت پیامک به صورت زیره :


<receiver
android:name=".SMSReceiver"
android:enabled="true"
android:exported="true"
>




<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>

shabgardetanha
چهارشنبه 03 شهریور 1395, 11:05 صبح
این رو برا قفل گوشی نوشتم اما انگار نه انگار
if(intent.getAction().equals(Intent.ACTION_USER_PR ESENT)){
Toast.makeText(getApplicationContext(), "باز است", Toast.LENGTH_LONG).show();
}

else if (intent.getAction().equals(Intent.ACTION_SHUTDOWN) ) {
Toast.makeText(getApplicationContext(), "بسته است", Toast.LENGTH_LONG).show();
}
یا برا تماس اینو نوشتم ما باز هیچی به هیچی
try{
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE );

if(state.equals(TelephonyManager.EXTRA_STATE_RINGI NG)){
Toast.makeText(context, "Phone Is Ringing", Toast.LENGTH_LONG).show();
}

if(state.equals(TelephonyManager.EXTRA_STATE_OFFHO OK)){
Toast.makeText(context, "Call Recieved", Toast.LENGTH_LONG).show();
}

if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){
Toast.makeText(context, "Phone Is Idle", Toast.LENGTH_LONG).show();
}
}
catch(Exception e){e.printStackTrace();}
و در منیفست


<action android:name="android.intent.action.PHONE_STATE"/>

<action android:name="android.intent.action.USER_PRESENT" />


خواهش می کنم کمک کنید