Как я могу использовать широковещательный приемник и сервис для обоих из них при условии, что приложение установлено на внешнем хранилище. я запрограммировал его, а просто работать на внутреннем запоминающем устройстве, потому что я хочу, когда устройство перезагружается службы запуска вместо запуска деятельностьКак использовать широковещательный приемник с сервисом
моя активность:
public class FirstClass extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.first);
final Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
public void run()
{
startService(new Intent(getApplicationContext(), MyService.class));
startActivity(new Intent(FirstClass.this, MainActivity.class));
finish();
}
},5000);
}
/////////////////////////////////////////////////
}
мой радиовещательный приемник:
public class BroadcastReceiverOnTurnedOn extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent startServiceIntent = new Intent(context, MyService.class);
context.startService(startServiceIntent);
}
}
я добавил:
<service
android:name="com.dariran.MyService"
android:enabled="true"
android:exported="true" >
</service>
<receiver android:name="com.dariran.BroadcastReceiverOnTurnedOn"
android:enabled="true">
<intent-filter android:priority="1">
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" />
</intent-filter>
</receiver>
к тегу применения на Manifest.xml и я добавил этот код в мой класс обслуживания, чтобы поставить фильтр, чтобы распознать внешний накопитель, но не работать снова :(
@Override
public void onStart(Intent intent, int startId) {
try {
IntentFilter filter = new IntentFilter(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE);
filter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE);
BroadcastReceiver mReceiver = new BroadcastReceiverOnTurnedOn();
registerReceiver(mReceiver, filter);
} catch (Exception e) {
}
}
Вы имеете в виду « « заставить приложение не может быть перенесено на SD-карту? –
Что вы имеете в виду? пожалуйста, помогите мне, потому что я пытаюсь решить эту проблему около 7 дней :( –
Что вы подразумеваете под «просто запускаете на внутреннем хранилище»? –