我想在我的主要活动中创建一个广播接收器作为内部类.但我在清单xml文件中定义广播接收器时遇到问题,因为android无法找到它.
码:
public class MyActivity extends Activity{
...
public class Receiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
....
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
表现:
<receiver android:name=".org.danizmax.myapp.MyActivity$Receiver" android:enabled="true">
<intent-filter>
<action android:name="org.danizmax.myapp.BROADCAST_INITIAL_DATA"></action>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
我尝试过:
我看到其他人也有类似的问题,但没有找到任何答案.
那有可能吗?如果没有,有什么更好的方式来使用广播接收器?
谢谢!
我使用netbeans向导创建了实体bean,并尝试从数据库中获取数据.无论我使用什么SQL查询,它都不起作用.我尝试使用由向导创建的命名查询:
@NamedQuery(name = "Usr.findAll", query = "SELECT u FROM Usr u")
Run Code Online (Sandbox Code Playgroud)
它返回:
Caused by: Exception [EclipseLink-8025] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query [Usr.findAll], line 1, column 0: unexpected token [Usr].
Run Code Online (Sandbox Code Playgroud)
如果我试试;
SELECT uid FROM usr;
Run Code Online (Sandbox Code Playgroud)
我明白了:
Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing the query [SELECT uid FROM usr;], line 0, column -1: unexpected end of query.
Internal Exception: MismatchedTokenException(-1!=78)
Run Code Online (Sandbox Code Playgroud)
即使我尝试:
SELECT * …Run Code Online (Sandbox Code Playgroud) 我正在制作天气应用程序,需要知道用于报告人手机附近/周围天气状况的当前位置.
它不一定比100m更准确,而且在恶劣天气下快速(几秒钟),因此用户不会觉得无聊等待结果.
那么,机器人网络位置提供商的准确性和快速性如何?
谢谢!
我有一个计划用OSGI框架重新实现我的一个小但有用的应用程序.我从来没有使用它,所以我想在小应用程序上使用OSGI是合适的,并且在使用这样的框架时它在速度和/或内存占用方面有很大差异.此外,如果它是一个不错的选择,我会问哪种实现最适合小型应用程序.
谢谢!
我正在尝试使用从我的活动发送的意图来调用我的服务的某些功能.
这是我从活动发送意图的方式(在UI线程中):
Intent it = new Intent(MyService.INTENT_ACTIVITY_POSITION_CHANGED);
it.setClass(getApplicationContext(), MyService.class);
it.putExtra("posPercentX", x);
it.putExtra("posPercentY", y);
startService(it);
Run Code Online (Sandbox Code Playgroud)
这就是myStartCommand在MyService中的样子:
@Override
public int onStartCommand (Intent intent, int flags, int startId){
super.onStartCommand(intent, flags, startId);
if(intent.getAction().equals(INTENT_ACTIVITY_START)){
Toast.makeText(this,"onStartCommand ...", Toast.LENGTH_SHORT).show();
}else if(intent.getAction().equals(INTENT_ACTIVITY_POSITION_CHANGED)){
// here comes some code to get extras from intent
Log.d("INTENT_ACTIVITY_POSITION_CHANGED", "x=" + posX + " y=" + posY);
//TODO preveri
}
return startId;
}
Run Code Online (Sandbox Code Playgroud)
我接到几个电话后:
ERROR/ActivityManager(52): java.lang.IllegalArgumentException: Unknown service start result: 4
Run Code Online (Sandbox Code Playgroud)
为什么我会收到此错误?任何的想法?