我面临的问题是,当时间更改时,TIME_TICK 仅在应用程序运行时调用。但我希望即使应用程序正在运行或不使用广播接收器也能调用它。
主要活动
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(getApplicationContext(), "Checking", Toast.LENGTH_LONG).show();
}
}
我的广播接收器
public class MyBroadastReceiversextends BroadcastReceiver
{
@Override
public void onReceive(Context arg0, Intent arg1) {
Toast.makeText(arg0, "Toast Receive", Toast.LENGTH_LONG).show();
}
}
清单文件
<receiver android:name="com.example.serviceschecking.MyBroadastReceivers" android:enabled="true" android:exported="true">
<intent-filter >
<action android:name="android.intent.action.TIME_TICK"/>
</intent-filter>
</receiver>
如 API 中所述,您必须以编程方式注册此意图:
广播操作:当前时间已更改。每分钟发送一次。你
无法通过清单中声明的组件接收此信息,只能通过
使用 Context.registerReceiver() 显式注册它。
您必须在您的 mainActivity 中注册它:
IntentFilter mTime = new IntentFilter(Intent.ACTION_TIME_TICK);
registerReceiver(YourReceiver, mTime);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)