小编100*_*abh的帖子

Android:如何以编程方式将Activity的主题设置为Theme.Dialog

所以我有一个Activity(说TestActivity)需要作为一个正常的未经训练Activity以及Theme.Dialog在其他地方.我正在尝试TestActivity为这两个任务重用相同的内容.

我正在寻找动态设置主题.代码很简单:这是我的活动onCreate,它适用于黑色背景

public void onCreate(Bundle icicle) {
    if (Utility.isDialog == true)
        setTheme(android.R.style.Theme_Dialog);
    super.onCreate(icicle);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
.....
Run Code Online (Sandbox Code Playgroud)

这是Manifest Entry

<activity android:name=".TestActivity"/>
Run Code Online (Sandbox Code Playgroud)

在此期间,我发现一篇帖子说这里无法完成的帖子是http://code.google.com/p/android/issues/detail?id=4394.但是有一种强烈的感觉可以做到.

欢迎所有建议.

android themes dialog android-activity

37
推荐指数
4
解决办法
9万
查看次数

PACKAGE_REMOVED然后PACKAGE_ADDED与PACKAGE_REPLACED意图行动一起被触发

我所要做的就是在每次安装和卸载时更新我的​​列表,但更新包更换.因此,主要问题是每次替换操作都会启动安装和卸载意图.

所以为此我已经实现了如下的BroadcastReciever

<receiver android:name =".IntentReceiverTest.AppReciever">
  <intent-filter>
         <action android:name="android.intent.action.PACKAGE_REMOVED"/>
         <action android:name="android.intent.action.PACKAGE_REPLACED"/>
         <action android:name="android.intent.action.PACKAGE_ADDED"/>
         <data android:scheme="package"/> 
  </intent-filter>
</receiver> 
Run Code Online (Sandbox Code Playgroud)

在每个替换我得到3个广播与行动

  • 首先使用PACKAGE_REMOVED激活AppReciever
  • 然后在PACKAGE_ADDED之后再次触发AppReciever
  • 然后几秒钟PACKAGE_REPLACED再次激活AppReciever

所以请建议任何更好的方法来捕捉替换行动

要么

由于PACKAGE_REMOVED和PACKAGE_ADDED操作而停止先前启动的服务的方法.

android intentfilter broadcastreceiver

21
推荐指数
1
解决办法
9465
查看次数

如何在代码中为整个应用程序设置主题,但不在Manifest中?

我知道如何在清单中将主题设置为整个应用程序,但如何以编程方式将主题设置为整个应用程序?我正在尝试这个:getApplicationContext.setTheme(R.style.mytheme),但它不起作用.

我认为getApplicationContext应用程序的上下文,可以设置整个应用程序的主题.

android themes

8
推荐指数
4
解决办法
2万
查看次数

Android中有一个状态栏图标的多个通知

我正在使用自定义通知...如何设置不显示通知?并列出这些通知?这是我的代码......

public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "coming", Toast.LENGTH_LONG).show();
        Bundle descBundle = intent.getExtras();
        CharSequence desc = descBundle.getString("description");
        int reminderId = descBundle.getInt("reminderId");
        NotificationManager mNotificationManager;
        mNotificationManager = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
        PendingIntent contentIntent = PendingIntent.getActivity(context,
                reminderId, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
        RemoteViews contentView = new RemoteViews(context.getPackageName(),
                R.layout.main);
        contentView.setImageViewResource(R.id.image, R.drawable.reminder_1);
        contentView.setTextViewText(R.id.text, desc);
        Notification notifyDetails = new Notification();
        notifyDetails.icon = R.drawable.reminder_1;
        notifyDetails.when = System.currentTimeMillis();
        notifyDetails.tickerText = desc;
        notifyDetails.iconLevel = 1;
        notifyDetails.number = reminderId;
        notifyDetails.contentView = contentView;
        notifyDetails.contentIntent = contentIntent;
        mNotificationManager.notify(0, notifyDetails);
    }
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码显示通知...但它只显示一个通知内容...但图标显示没有通知...

notifications android

7
推荐指数
1
解决办法
1万
查看次数

如何修复位图大小中的错误超过VM预算

我工作一个应用程序图像上传到SD卡我正在缩放sdcard保存到数据库有时一个错误发生位图大小超过vm预算

ouput :

01-11 15:39:51.809: ERROR/AndroidRuntime(6214): Uncaught handler: thread main exiting due to uncaught exception
01-11 15:39:51.979: ERROR/AndroidRuntime(6214): java.lang.OutOfMemoryError: bitmap size exceeds VM budget
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:384)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:397)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at com.fitzgeraldsoftware.shout.presentationLayer.Shout.onActivityResult(Shout.java:1653)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.app.Activity.dispatchActivityResult(Activity.java:3624)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3220)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3266)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.app.ActivityThread.access$2600(ActivityThread.java:116)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1823)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):     at android.os.Looper.loop(Looper.java:123) …
Run Code Online (Sandbox Code Playgroud)

size android exception bitmap out-of-memory

7
推荐指数
1
解决办法
4054
查看次数

Java Apache FTPClient:如何知道我当前的目录

我的问题很简单:我在一个连接到FTP的简单应用程序中使用Apache commons.net API,我可以使用changeWorkingDirectory方法更改工作目录.但是......我怎么知道我当前的目录whitout改变它?

java ftp apache-commons

6
推荐指数
1
解决办法
1万
查看次数

关于在三星Galaxy S上调度'Down'键的"Window Manager Crash"


我正在使用Instrumentation在各种Android设备上运行我的单元测试.测试用例在仿真器和除三星Galaxy S之外的所有设备上都能正常工作.在三星Galaxy S上,使用检测注入大约30个关键事件后,它会显示一个Window Manager崩溃,这是完整的崩溃日志:

D/dalvikvm(11862): GC_EXPLICIT freed 6800 objects / 374040 bytes in 54ms
D/dalvikvm(11862): GC_EXPLICIT freed 780 objects / 71856 bytes in 39ms
W/dalvikvm(11862): threadid=9: thread exiting with uncaught exception (group=0x4001d7d0)
E/WindowManager( 2472): Window Manager Crash
E/WindowManager( 2472): java.lang.NullPointerException
E/WindowManager( 2472):         at com.android.server.WindowManagerService$KeyWaiter.waitForNextEventTarget(WindowManagerService.java:5844)
E/WindowManager( 2472):         at com.android.server.WindowManagerService.injectKeyEvent(WindowManagerService.java:5565)
E/WindowManager( 2472):         at android.view.IWindowManager$Stub.onTransact(IWindowManager.java:110)
E/WindowManager( 2472):         at com.android.server.WindowManagerService.onTransact(WindowManagerService.java:692)
E/WindowManager( 2472):         at android.os.Binder.execTransact(Binder.java:288)
E/WindowManager( 2472):         at dalvik.system.NativeStart.run(Native Method)
E/AndroidRuntime(11862): FATAL EXCEPTION: Instr: com.myapp.test.ImpInstrumentation
E/AndroidRuntime(11862): java.lang.NullPointerException …
Run Code Online (Sandbox Code Playgroud)

instrumentation android android-windowmanager samsung-mobile

6
推荐指数
1
解决办法
939
查看次数

android:来自市场活动的回应

我正在尝试制作一个应用程序,打开所选应用程序的Android市场页面,并让用户下载它.我已经使用以下意图打开市场.

  Intent intent = new Intent (Intent.ACTION_VIEW);
    intent.setData (Uri.parse ("market://details?id=" + PackageName ));
    intent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivityForResult (intent, 13);
Run Code Online (Sandbox Code Playgroud)

但我总是在onActivityResult.StackTrace中得到结果码0:

I/ActivityManager(   79): Starting activity: Intent { act=android.intent.action.VIEW dat=market://details?id=com.google.android.apps.unveil flg=0x10000000 cmp=com.an
droid.vending/.AssetInfoActivity }
W/ActivityManager(   79): Activity is launching as a new task, so cancelling activity result.
Run Code Online (Sandbox Code Playgroud)

我想要的是市场给我一些回复,用户下载了应用程序或刚刚取消.

编辑: @CommonsWare我试图在这里访问添加的包但是无法确定从ACTION_PACKAGE_ADDED的额外内容中获取packagename的关键

public class ServiceReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
    //Do this when the system sends the intent
    Bundle b = intent.getExtras();
    String packagename = b.get(?);   //cant figure what …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver android-activity google-play

5
推荐指数
1
解决办法
2632
查看次数

活动间切换黑屏

我正在使用我的一项活动中的以下代码来开始另一项活动

Intent viewIntent = new Intent(getApplicationContext (), landingPage.class);
Bundle b = new Bundle();
b.putString("ApplicationName", a_Bean.getApplicationName());
if (landingPage.getInstanceCount() < 1)
    bp.landingPage_ProgressDialog = ProgressDialog.show(ViewAllApp.this, "Please wait...", "Retrieving data...", true, false);
viewIntent.putExtras(b);
viewIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(viewIntent,10);
Thread background = new Thread(new Runnable() {
    public void run() {
        Progresshandler.sendMessage(handler.obtainMessage());//finishes progressDialog
}});
background.start();
Run Code Online (Sandbox Code Playgroud)

但是在 startactivity 之后它会显示一个黑屏然后显示新的活动。我可以在显示黑屏时显示进度对话框吗?

android progressdialog

4
推荐指数
2
解决办法
1万
查看次数