PDA

View Full Version : عدم کارکرد صحیح Boot_Complate



majid.ostadi
چهارشنبه 05 شهریور 1393, 21:30 عصر
با سلام خدمت اساتید
من تو برنامه ام از BOOT_COPLATE استفاده کردم.
اما تا گوشی رو ریست میکنم force closed میده.

و یه سوال دیگه اینکه تو آلارم برنامم، واسه کنسل Repeat کدی گذاشتم، اونم عمل نمیکنه

کسی هست راهنمایی کنه؟؟؟؟؟؟

اینم کدهاش



public class BootUpReceiver extends BroadcastReceiver
{

@Override
public void onReceive(Context context, Intent intent)
{
// TODO Auto-generated method stub

Intent i = new Intent(context, AlarmReceiverActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}





<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.testbootcomolate"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.testbootcomolate.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name=".AlarmReceiverActivity"></activity>
<activity android:name="RepeatingAlarmReceiverActivity"></activity>

<receiver android:name=".provider.BootUpReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />

<category android:name="android.intent.category.DEFAULT" >
</category>
</intent-filter>
</receiver>

</application>

</manifest>




اینم کد های کنسل کردن تکرار آلارم که عمل نمیکنه




public class RepeatingAlarmReceiverActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.alarm);

Button stopAlarm = (Button) findViewById(R.id.btnStopAlarm);
stopAlarm.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {
finish();

}
});


}//onCreate




Intent intent = new Intent(MainActivity.this, RepeatingAlarmReceiverActivity.class);
PendingIntent pendingIntent =
PendingIntent.getActivity(MainActivity.this, 3, intent,
0);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.cancel(pendingIntent);

majid.ostadi
پنج شنبه 06 شهریور 1393, 13:18 عصر
کسی نیست یه راهنمایی بکنه مشکلم از کجاست؟؟؟؟؟؟؟؟؟؟؟؟؟

majid.ostadi
پنج شنبه 06 شهریور 1393, 15:06 عصر
کسی نیست راهنمایی کنه؟؟؟؟؟؟؟؟؟؟؟؟:ناراحت::نا احت::ناراحت:

sobhan1990
جمعه 14 شهریور 1393, 12:08 عصر
سلام

دوست عزیز شما باید ابتدا یک Pending Intent بسازی و بعد کنسلش کنی:


AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

Intent updateServiceIntent = new Intent(context, MyPendingIntentService.class);
PendingIntent pendingUpdateIntent = PendingIntent.getService(context, 0, updateServiceIntent, 0);

// Cancel alarms
try {
alarmManager.cancel(pendingUpdateIntent);
} catch (Exception e) {
Log.e(TAG, "AlarmManager update was not canceled. " + e.toString());
}