Articles of android intent

如何获取onActivityresult中的图片路径(Intent数据为null)

我必须启动相机,当用户完成图片时,我必须将其拍摄并在视图中显示。 看看http://developer.android.com/guide/topics/media/camera.html我做过: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bLaunchCamera = (Button) findViewById(R.id.launchCamera); bLaunchCamera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.d(TAG, “lanzando camara”); //create intent to launch camera Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); imageUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); //create a file to save the image intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); //set the image file name //start camera startActivityForResult(intent, […]

从接收者自己的onReceive()方法中取消注册“动态”BroadcastReceiver是否可以?

也就是说,我有这个我在线创建的BroadcastReceiver来监听一个广播,之后我希望它取消注册。 我没有find任何这样做的示例代码,但我也没有在android在线文档中发现禁止此的任何规则。 但是我不能让它随着活动一直存在,并且无论如何它都在匿名类中,因此包含类甚至不知道variables名。 也就是说,代码看起来像这样: myInfoReceiver = new BroadcastReceiver() { onReceive(Context ctx, Intent intt) { // do some Notification when I get here nm.notify(“I got here”) // obvious pseudo code ctx.unregisterReceiver(myInfoReceiver); } // end onReceive ctx.registerReceiver),uInfoReceiver, new IntentFilter(…)); }; // end BroadcastReceiver 但是当我运行它时,Android会在调用取消注册时抱怨,坚持说接收器不在那里取消注册(我忘记了确切的措辞,但它抛出了IllegalArgumentException)。 我还尝试修改代码以检查’intt’中的操作是否与预期相同 – 但它仍然执行onReceive但是无法取消注册。

如何在没有singleTop的情况下使用Android SearchView?

我有一项活动,我通常希望在多个任务中存在,以便[Back]按钮恢复以前的状态; 但是,我也希望将SearchView与现有活动一起使用,而不是将新的活动推送到任务堆栈(因为我想搜索当前显示的内容)。 这是我的问题: 如果我将活动的启动模式设置为“singleTop”,则SearchView将使用当前活动,但Context.startActivity不会向堆栈添加新活动。 如果我将活动的启动模式设置为“标准”,则startActivity会向堆栈添加新活动,但SearchView还会创建新的(空)活动,而不是搜索现有活动。 我找不到任何方法让SearchView使用意图标志(例如FLAG_ACTIVITY_SINGLE_TOP 。我尝试反过来,将启动模式设置为“singleTop”,然后将FLAG_ACTIVITY_NEW_TASK添加到每个意图,但这只适用于从其他活动类启动时;当我尝试从自己的类中启动活动的新实例时,Android不尊重FLAG_ACTIVITY_NEW_TASK并且没有将新任务推送到堆栈。 也许我可以在Activity.onNewIntent中做些什么来强制活动克隆自己。 我即将放弃SearchView,只是编写自己的自定义小部件,尽管事实上“在Android 3.0中开始,使用SearchView小部件作为操作栏中的项目是在应用程序中提供搜索的首选方式“ ( 来源 ) – 到目前为止,似乎太不灵活且不可配置,无法在非平凡的情况下使用。 有没有人find解决这个问题的方法?

android:validation意图发件人的身份

我在一家生产多个应用程序的公司工作,并非所有这些应用程序都具有相同的签名,或者更像是我们暂时拥有至少5-6个应用程序证书。 我们尝试创建一种机制,其中同一设备上的所有公司应用程序共享相同的内容,例如,如果用户从市场App A安装并且未安装应用程序,则会生成新ID,如果现在他安装App A, app B应该与App A具有相同的ID(id只是生成的UUIDtypes#4)等… 我们目前正在使用广播,只有获得我们许可的应用才能接收该广播,并通过另一次广播发送回来(这次是明确的)。 广播和响应受到我们的签名级别的保护,这当然没有帮助,因为我们有多个签名。 我试图写一个意图广播和恢复,它可以拥有自己的保护机制,不仅限于一个签名,而是几个,问题是像Binder.getSenderUID()这样的东西不适用于广播,我得到我的自己的uid。 看起来我无法获得我的snder的身份,除非他自己在意图中写了他的id,这不是我可以信任的东西,因为它可以很容易伪造。 使用加密需要应用程序附带一个密钥,这不再是安全的,转向服务器进行validation需要花费太多时间,并且在移动设备上不能保证成功,因为不是100%确定有网络。 任何人都知道如何从一个应用程序到另一个应用程序获得validation\安全消息?(我的所有应用程序,但可能有不同的签名)。

连接wifi时打开应用程序

当用户进入具有Wi-Fi的区域时,如何打开我的应用程序? 这可能吗? 假设我的应用程序是onPause()状态(表示我的设备的主屏幕)。 现在当设备连接wifi时。 它会自动打开我的应用程序。

通过浏览器链接获取数据到应用程序

我已经定义了一个intentfilter来监听我的应用程序中的自定义方案,但我还必须将数据发送到我的应用程序,以便我可以采取相应的行动。 我想要完成的任务 – 发送一个链接到用户(在浏览器中),他点击它,它将他带到我的应用程序,它会根据他点击的URL将一些数据添加到数据库。

是否可以在Android上使用搜索参数启动YouTube应用?

我知道可以在Android上启动YouTube应用(如果已安装)以观看特定video。 我们可以做类似的搜索吗? 我的意思是我可以使用YouTube api进行搜索,但我不想这样做,我只想将搜索参数提供给youtube app,这样它就可以搜索我。 (因此,我想在youtube应用中显示结果,而不是打开网络浏览器来显示搜索结果) 这可能吗?

记录Android中已启动的活动

我想知道如何记录已启动的活动以进行日志记录。 我必须订阅什么广播接收器来拦截这个意图? 或者使用什么意图filter? 我想我必须在后台使用某种types的长期运行服务。 我的第一个目标是跟踪主要焦点应用程序,某种历史。 想要得到一些类似的: – 推出app com.android.xxx – 推出应用程序xx.yy.zz – 应用程序xx.yy.zz失去了焦点 提前致谢 编辑 – 只需看看该应用程序MyAppRank ,这完全是我的意思

Sqlite游标窗口分配2048 kb失败

public List GetAllPatientDetails() { List DiagnosistblList = new ArrayList(); String selectQuery = “SELECT * FROM ” + TABLE_Diagnosistble + “”; SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = null; { cursor = db.rawQuery(selectQuery, null); if(cursor.getCount() > 0) { if (cursor.moveToFirst()) do{ Diagnosis_tble diagCreation_tble = new Diagnosis_tble(); diagCreation_tble.SetDiagnosisID(cursor.getString(0)); diagCreation_tble.SetPName(cursor.getString(1)); diagCreation_tble.SetHospitalNo(cursor.getString(2)); diagCreation_tble.SetPGender(cursor.getString(3)); diagCreation_tble.SetPacemaker(cursor.getString(4)); diagCreation_tble.SetDiagType(cursor.getString(5)); diagCreation_tble.SetP_Age(cursor.getString(6)); diagCreation_tble.SetDeviceID(cursor.getString(7)); diagCreation_tble.SetDiagStrtTime(cursor.getString(8)); diagCreation_tble.SetDiagEndTime(cursor.getString(9)); […]

我的onNewIntent没有打电话

创建一个集成Twitter的应用程序。 我用这个教程: http://blog.blundell-apps.com/sending-a-tweet/ package com.blundell.tut.ttt; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.View; import android.webkit.WebView; import android.widget.Button; import android.widget.Toast; import twitter4j.Twitter; import twitter4j.TwitterException; import twitter4j.TwitterFactory; import twitter4j.auth.AccessToken; import twitter4j.auth.RequestToken; public class TweetToTwitterActivity extends Activity { private static final String TAG = “Blundell.TweetToTwitterActivity”; /** Name to store the […]